############################################################################### # Makefile für portbasierte Haskell-Programme # # Autor: Ulrich Norbisrath # Erstellungsdatum: 18.06.2000 ############################################################################### # In dem ersten Teil können entsprechende Änderungen für das eigene Projekt # durchgeführt werden. # In der Regel sollte es reichen PORTPATH, SRCS, OBJS und PROGS zu modifizieren ############################################################################### # Hier muss der Pfad angegeben werden, wo libport.a und Port.hi zu finden sind #PORTPATH = ../../port/lib # alle Sourcen des eigenen Projektes SRCS = Interface.hs \ Client.hs \ Server.hs # Diese sind nur als Objekt zu compilieren OBJS = Interface.o # Dies sind die Namen der entstehenden Executables PROGS = Server Client # zusätzliche Libraries EXTRA_LIBS = # Besondere Optionen für den ghc EXTRA_HC_OPTS = ################ ab hier sollten keine Änderungen mehr nötig sein ######## # Haskell-Compiler # utils MAKEDEP = $(mkdependHS) RM = rm # Haskell Optionen HC_OPTS = -syslib concurrent \ -syslib net \ -syslib data \ -syslib util \ -syslib posix \ -cpp \ $(EXTRA_HC_OPTS) LIBS = -L$(PORTPATH) -lport $(EXTRA_LIBS) IMPORTS = -i$(PORTPATH) .SUFFIXES : .o .hi .lhs .hc .s all: $(PROGS) dep: .depend depend: .depend .depend: $(SRCS) $(MAKEDEP) -- $(HC_OPTS) -- -x IOExts -x Weak -x Port -f .depend $(SRCS) $(PROGS) : %: %.o $(OBJS) $(HC) -o $@ $(HC_OPTS) $(IMPORTS) $(LIBS) $(OBJS) $@.o # o-Files bekommt man aus hs-Files durch Compilieren %.o: %.hs; $(HC) -c $< $(HC_OPTS) $(IMPORTS) # hi-Files bekommt man aus o-Files %.hi: %.o; @: clean: $(RM) -f a.out *.hi *.o *.a .depend* $(PROGS) include .depend