Files
artloglaby/java/Makefile
philippe lhardy 850744326a initial commit for labryinth project on git_hub.
Signed-off-by: philippe lhardy <philippe@pavilionartlogiciel>
2014-12-24 17:28:23 +01:00

49 lines
1.1 KiB
Makefile

PACKAGE=org.artisanlogiciel.games
PACKAGE_DIR=$(subst .,/,$(PACKAGE))
OUT=out
$(OUT):
mkdir -p $(OUT)
clean:
find $(OUT) -name "*.class" -type f -print0|xargs -0 rm
test:
javac -d $(OUT) $(PACKAGE_DIR)/LabyModel.java
javac -d $(OUT) $(PACKAGE_DIR)/Main.java
java -cp $(OUT) $(PACKAGE).Main
run/%: $(OUT)
javac -d $(OUT) $(PACKAGE_DIR)/$(subst run/,,$@).java
java -cp $(OUT) $(PACKAGE)/$(subst run/,,$@)
display: run/Display
display/%: $(OUT)
javac -d $(OUT) $(PACKAGE_DIR)/Display.java
java -cp $(OUT) $(PACKAGE).Display $(subst display/,,$@)
compile/%:
javac -d $(OUT) $(PACKAGE_DIR)/$(subst compile/,,$@).java
$(PACKAGE_DIR)/%.java:
./generate_newclass.sh $(subst .java,,$(subst $(PACKAGE_DIR)/,,$@))
work/%: $(PACKAGE_DIR)/$(subst work/,,%).java
emacs $<
work: work/LabyModel
save:
git citool
.PHONY: clean test work display work/% run/% save compile/%
# tried to avoid intermediate file removal : does not work
# .SECONDARY: $(PACKAGE_DIR)/%.java
# this does work : once precious intermediate file is not removed.
.PRECIOUS: $(PACKAGE_DIR)/%.java