# HG changeset patch # User Matti Hamalainen # Date 1645796767 -7200 # Node ID dd2caf5321baadd92b22849781e0401b6c76854c # Parent 20231e8bbc4359090ae26019c8035b270db106d9 Improve build system. diff -r 20231e8bbc43 -r dd2caf5321ba Makefile --- a/Makefile Mon Apr 29 15:39:43 2019 +0300 +++ b/Makefile Fri Feb 25 15:46:07 2022 +0200 @@ -21,23 +21,32 @@ sounds/*.wav +### +### Functions and compilation/link commands +### ifneq ($(V),1) -COMPILE_OBJ = @echo " JAVAC $<" && $(JAVAC) $(JAVAC_FLAGS) $< +DO_CMD=/bin/echo -E " $(1) $(2)" && $(3) else -COMPILE_OBJ = $(JAVAC) $(JAVAC_FLAGS) $< +DO_CMD=/bin/echo -E $(3) && $(3) endif +DO_MKDIR=if test ! -z "$(1)" -a ! -d "$(1)"; then /bin/echo -E " MKDIR $(1)"; mkdir -p "$(1)"; fi + + +COMPILE_JAVA_OBJ = \ + @$(call DO_MKDIR,$(OBJPATH)) ; \ + $(call DO_CMD,JAVAC,$<,$(JAVAC) $(JAVAC_FLAGS) $< $(1)) ### ### Targets and generic rules ### -TARGETS=$(MAINCLASS) +TARGETS = $(MAINCLASS) all: $(TARGETS) $(SRC)%.class: $(SRC)%.java - $(COMPILE_OBJ) + $(call COMPILE_JAVA_OBJ,) ### @@ -63,7 +72,7 @@ Ristipolku.class: Ristipolku.java $(addprefix $(SRC),\ Engine.class) - $(COMPILE_OBJ) + $(call COMPILE_JAVA_OBJ,) run: $(MAINCLASS) @@ -77,19 +86,14 @@ jar cvfm $@ manifest.txt $(MAINCLASS) $(RESOURCES) $(SRC)*.class -upload: $(JARFILE) - @scp $+ ccr@tnsp.org:tnsp/ristipolku/ - $(RM) $< - - ### ### Cleanup ### clean: - $(RM) $(TARGETS) *.class $(SRC)*.class + -$(RM) $(TARGETS) *.class $(SRC)*.class distclean: clean - $(RM) *~ game/*~ graphics/*~ + -$(RM) *~ game/*~ graphics/*~ # dummy