using ghc with make

Niklas Sorensson nik at
Tue Apr 18 05:07:39 EDT 2006

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.

-------------- next part --------------
## 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

## Link rule
	ghc $(HLFLAGS) -o $@ $^

## Build rule
%.o %.hi:	%.hs
	ghc $(HCFLAGS) -c -o $(addsuffix .o, $(basename $@)) $<

## Make dependencies $(HSRCS)
	@echo Making dependencies ...
	ghc $(HCFLAGS) -M -optdep-f $^


More information about the Glasgow-haskell-users mailing list