Files
artloglaby/java/Makefile
philippe lhardy f15ec70e12 fix doit.sh build
- add dependent libraries during java build through Makefile
- add clones.dep to list dependencies
2022-01-10 15:26:34 +01:00

60 lines
1.6 KiB
Makefile

PACKAGE=org.artisanlogiciel.games
PACKAGE_DIR=$(subst .,/,$(PACKAGE))
# maps with ant build.xml
OUT=../build
# external libraries
LIBS=../libs/artgaphics-0.1.0.jar
EDITOR=emacs
$(OUT):
echo "[ERROR] Missing $(OUT)"
# mkdir -p $(OUT)
clean:
@find $(PACKAGE_DIR) -name "*.class" -type f -print0|xargs -0 --no-run-if-empty rm 2>/dev/null
@find $(OUT) -name "*.class" -type f -print0|xargs -0 --no-run-if-empty rm 2>/dev/null
test:
echo "$(pwd)/$(PACKAGE_DIR)"
javac -sourcepath . -cp $(LIBS) -d $(OUT) $(PACKAGE_DIR)/LabyModel.java
javac -sourcepath . -cp $(LIBS) -d $(OUT) $(PACKAGE_DIR)/Main.java
java -cp $(OUT):$(LIBS):../lang $(PACKAGE).Main
run/%: $(OUT)
javac -cp $(LIBS):$(OUT) -d $(OUT) $(PACKAGE_DIR)/$(subst run/,,$@).java
java -cp $(OUT):$(LIBS) $(PACKAGE)/$(subst run/,,$@)
display: run/Display
display/%: $(OUT)
javac -cp $(LIBS) -d $(OUT) $(PACKAGE_DIR)/Display.java
java -cp $(OUT):$(LIBS) $(PACKAGE).Display $(subst display/,,$@)
compile/%:
javac -cp $(LIBS) -d $(OUT) $(PACKAGE_DIR)/$(subst compile/,,$@).java
$(PACKAGE_DIR)/%.java:
./generate_new.sh class $(subst .java,,$(subst $(PACKAGE_DIR)/,,$@))
interface/%:
./generate_new.sh interface package_dir=$(PACKAGE_DIR) $(subst interface/,,$@)
$(EDITOR) $(PACKAGE_DIR)/$(subst interface/,,$@).java
work/%: $(PACKAGE_DIR)/$(subst work/,,%).java
$(EDITOR) $<
work: work/LabyModel
save:
git citool
.PHONY: clean test work display work/% run/% save compile/% interface/%
# 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