
Frederik Eaton wrote:
Hi all,
I have a project which currently uses Cabal, and I would like to switch to using a plain Makefile.
I use something like the attached Makefile. I don't have any experience with big projects though, so it could be that regenerating dependencies all the time is expensive. /Niklas ## This Makefile compiles all haskell sources files in current ## directory to an executable with the same name as the last level of ## the current directory path. Change the following variables to alter ## this behaviour EXEC = $(notdir $(shell pwd)) HSRCS = $(wildcard *.hs) HOBJS = $(addsuffix .o, $(basename $(HSRCS))) HCFLAGS = -O3 -fglasgow-exts HLFLAGS = ## Link rule $(EXEC): $(HOBJS) ghc $(HLFLAGS) -o $@ $^ ## Build rule %.o %.hi: %.hs ghc $(HCFLAGS) -c -o $(addsuffix .o, $(basename $@)) $< ## Make dependencies depend.mk: $(HSRCS) @echo Making dependencies ... ghc $(HCFLAGS) -M -optdep-f -optdepdepend.mk $^ -include depend.mk