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
_______________________________________________
Glasgow-haskell-users mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to