changeset 204:dd2caf5321ba

Improve build system.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 25 Feb 2022 15:46:07 +0200
parents 20231e8bbc43
children 76972d900783
files Makefile
diffstat 1 files changed, 16 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- 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