GHC = ghc GHCFLAGS = -Isrc -cpp -odir build YHC = yhc YHCFLAGS = -cpp -unlit -d build -I src $(YHC_INCLUDES) badmodules = \ Brianweb/Data/Buffer \ Brianweb/TNat Brianweb/HList Brianweb/Word \ Brianweb/Foreign Brianweb/Net/Curl Brianweb/Net/WebBrowser \ Brianweb/Text/Html Brianweb/Text/Html/Parser sources = $(filter-out $(badmodules:%=src/%.lhs), $(shell find src -name '*.lhs')) classes = $(sources:src/%.lhs=build/%.hbc) all: $(classes) .depend: $(sources) @echo Rebuilding dependencies... @$(GHC) $(GHCFLAGS) -isrc -M -optdep-f -optdep$@ $^ build/%.hbc: src/%.lhs build/%.o $(YHC) $(YHCFLAGS) $< src/%.hi: build/%.hbc; @true build/%.o: src/%.lhs; @mkdir -p `dirname $@` && touch $@ include .depend