BRIANWEB_ROOT = $(if $(wildcard ../hsutils),..,$(if $(wildcard $(HOME)/.brianweb_root),$(shell cat ~/.brianweb_root),$(error "Please set BRIANWEB_ROOT or create ~/.brianweb_root"))) LAMBDAVM_BASE = $(BRIANWEB_ROOT)/lambdavm-base JAVA = java JAVAC = javac -source 1.3 -target 1.3 GHC_BDIR = $(HOME)/Work/ghc-6.6 .PRECIOUS: build/hcr/%.hcr package = lambdavm sources = $(shell find src/Brianweb/LambdaVM -name '*.lhs') jsources = $(shell find src/Brianweb/LambdaVM -name '*.java') package-depends = hsutils hsjava ghc tools = $(patsubst src/%.lhs,build/bin/%,$(filter src/Brianweb/LambdaVM/Tools/%.lhs, $(sources))) lambdavm = build/bin/Brianweb/LambdaVM/Tools/LambdaVM classes = $(jsources:src/%.java=build/class/%.class) all: $(classes) build/class/%.class: src/%.lhs $(lambdavm) @mkdir -p `dirname $@` $(lambdavm) -B$(GHC_BDIR) $(GHCFLAGS) -package-conf $(LAMBDAVM_BASE)/build/package.conf -fno-warn-unused-imports -fno-warn-unused-binds -hide-all-packages -package base-2.0 -c $< #build/hcri/%.hcri: build/class/%.class; @true #build/class/%.class: build/hcr/%.hcr $(lambdavm) # @mkdir -p `dirname $@` `dirname build/hcri/$*` # $(lambdavm) -idir build/hcri -i build/hcri -i $(LAMBDAVM_BASE)/build/hcri $< $(classes): $(jsources) @mkdir -p build/class $(JAVAC) -d build/class -classpath build/class $(jsources) todo: build/bin/Brianweb/LambdaVM/Tools/Todo ./$< mkautoapply: build/bin/Brianweb/LambdaVM/Tools/MkAutoApply ./$< > src/Brianweb/LambdaVM/RTSAuto.java check: build/class/Brianweb/LambdaVM/RTS.class build/class/Tests/Fact.class $(JAVA) -cp $(LAMBDAVM_BASE)/build/class:build/class Brianweb.LambdaVM.RTS Tests.Fact.main sudoku: build/class/Brianweb/LambdaVM/RTS.class build/class/Tests/Sudoku.class $(JAVA) -cp build/class:$(LAMBDAVM_BASE)/build/class Brianweb.LambdaVM.RTS Tests.Sudoku.main test: build/class/Brianweb/LambdaVM/RTS.class build/class/Tests/Test.class $(JAVA) -cp $(LAMBDAVM_BASE)/build/class:build/class Brianweb.LambdaVM.RTS Tests.Test.main lc: build/class/Brianweb/LambdaVM/RTS.class build/class/Tests/LambdaCalculus.class $(JAVA) -cp $(LAMBDAVM_BASE)/build/class:build/class Brianweb.LambdaVM.RTS Tests.LambdaCalculus.main adam: build/class/Brianweb/LambdaVM/RTS.class build/class/Tests/Examples.class $(JAVA) -cp $(LAMBDAVM_BASE)/build/class:build/class Brianweb.LambdaVM.RTS Tests.Examples.main include $(BRIANWEB_ROOT)/hsutils/GNUmakefile.common GHCFLAGS += -fglasgow-exts -fno-warn-missing-fields #-ddump-stg