# HG changeset patch # User Matti Hamalainen # Date 1556021495 -10800 # Node ID 60871afc2702a576fb3977b386de692d17709981 # Parent 8dbaa093c56252d38efe4193e233f1765c4d3dfb Improve build process. diff -r 8dbaa093c562 -r 60871afc2702 Makefile --- a/Makefile Tue Apr 23 13:00:25 2019 +0300 +++ b/Makefile Tue Apr 23 15:11:35 2019 +0300 @@ -1,42 +1,69 @@ -# Settings, directories -RUN=Ristipolku.class +### +### Settings, directories +### +# Utils +JAVA = java +JAVA_FLAGS += +JAVAC = javac +JAVAC_FLAGS += -g -Xlint:unchecked +JAVAC_FLAGS += -Xlint:deprecation + + +MAINCLASS=Ristipolku.class JARFILE=Ristipolku.jar -SRC=game +SRC=game/ + RESOURCES=\ graphics/*.png \ graphics/*.jpg \ graphics/font.ttf \ sounds/*.wav -CLASSES=G.class \ + +ifneq ($(V),1) +COMPILE_OBJ = @echo " JAVAC $<" && $(JAVAC) $(JAVAC_FLAGS) $< +else +COMPILE_OBJ = $(JAVAC) $(JAVAC_FLAGS) $< +endif + + +### +### Targets and generic rules +### +TARGETS=$(MAINCLASS) + +all: $(TARGETS) + + +$(SRC)%.class: $(SRC)%.java + $(COMPILE_OBJ) + + +### +### Class depencies +### +$(SRC)IDMWidget.class: $(SRC)IDMPoint.class + +$(SRC)IDMButton.class: $(SRC)IDMWidget.class + +$(SRC)IDMContainer.class: $(SRC)IDMWidget.class + +$(SRC)IDMWindow.class: $(SRC)IDMWidget.class + +$(SRC)Engine.class: $(addprefix $(SRC),\ Piece.class PieceType.class \ - Engine.class Interpolate.class \ + Interpolate.class \ ResourceLoader.class \ Sound.class SoundManager.class \ IDMPoint.class IDMWidget.class \ IDMButton.class IDMContainer.class \ IDMWindow.class \ - AnimatedPointElement.class - -# Utils -JAVAC=javac -JAVAC_FLAGS=-g -Xlint:unchecked -APPLETVIEWER=appletviewer - + AnimatedPointElement.class) -### -### Targets -### -TARGETS=$(RUN) - -all: $(TARGETS) - -$(SRC)/%.class: $(SRC)/%.java - $(JAVAC) $(JAVAC_FLAGS) $< - -Ristipolku.class: Ristipolku.java $(addprefix $(SRC)/,$(CLASSES)) - $(JAVAC) $(JAVAC_FLAGS) $< +Ristipolku.class: Ristipolku.java $(addprefix $(SRC),\ + Engine.class) + $(COMPILE_OBJ) run: $(RUN) @@ -46,8 +73,8 @@ ### ### Package ### -$(JARFILE): $(RUN) $(RESOURCES) - jar cvfm $@ manifest.txt $+ $(SRC)/*.class +$(JARFILE): $(MAINCLASS) $(RESOURCES) + jar cvfm $@ manifest.txt $(MAINCLASS) $(RESOURCES) $(SRC)*.class upload: $(JARFILE) @@ -59,7 +86,7 @@ ### Cleanup ### clean: - $(RM) $(TARGETS) *.class $(SRC)/*.class + $(RM) $(TARGETS) *.class $(SRC)*.class srcclean: clean