Mercurial > hg > ristipolku
comparison Makefile @ 193:60871afc2702
Improve build process.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 23 Apr 2019 15:11:35 +0300 |
parents | 189cd8fe2304 |
children | f3302a2d7815 |
comparison
equal
deleted
inserted
replaced
192:8dbaa093c562 | 193:60871afc2702 |
---|---|
1 # Settings, directories | 1 ### |
2 RUN=Ristipolku.class | 2 ### Settings, directories |
3 ### | |
4 # Utils | |
5 JAVA = java | |
6 JAVA_FLAGS += | |
7 JAVAC = javac | |
8 JAVAC_FLAGS += -g -Xlint:unchecked | |
9 JAVAC_FLAGS += -Xlint:deprecation | |
10 | |
11 | |
12 MAINCLASS=Ristipolku.class | |
3 JARFILE=Ristipolku.jar | 13 JARFILE=Ristipolku.jar |
4 | 14 |
5 SRC=game | 15 SRC=game/ |
16 | |
6 RESOURCES=\ | 17 RESOURCES=\ |
7 graphics/*.png \ | 18 graphics/*.png \ |
8 graphics/*.jpg \ | 19 graphics/*.jpg \ |
9 graphics/font.ttf \ | 20 graphics/font.ttf \ |
10 sounds/*.wav | 21 sounds/*.wav |
11 | 22 |
12 CLASSES=G.class \ | 23 |
24 ifneq ($(V),1) | |
25 COMPILE_OBJ = @echo " JAVAC $<" && $(JAVAC) $(JAVAC_FLAGS) $< | |
26 else | |
27 COMPILE_OBJ = $(JAVAC) $(JAVAC_FLAGS) $< | |
28 endif | |
29 | |
30 | |
31 ### | |
32 ### Targets and generic rules | |
33 ### | |
34 TARGETS=$(MAINCLASS) | |
35 | |
36 all: $(TARGETS) | |
37 | |
38 | |
39 $(SRC)%.class: $(SRC)%.java | |
40 $(COMPILE_OBJ) | |
41 | |
42 | |
43 ### | |
44 ### Class depencies | |
45 ### | |
46 $(SRC)IDMWidget.class: $(SRC)IDMPoint.class | |
47 | |
48 $(SRC)IDMButton.class: $(SRC)IDMWidget.class | |
49 | |
50 $(SRC)IDMContainer.class: $(SRC)IDMWidget.class | |
51 | |
52 $(SRC)IDMWindow.class: $(SRC)IDMWidget.class | |
53 | |
54 $(SRC)Engine.class: $(addprefix $(SRC),\ | |
13 Piece.class PieceType.class \ | 55 Piece.class PieceType.class \ |
14 Engine.class Interpolate.class \ | 56 Interpolate.class \ |
15 ResourceLoader.class \ | 57 ResourceLoader.class \ |
16 Sound.class SoundManager.class \ | 58 Sound.class SoundManager.class \ |
17 IDMPoint.class IDMWidget.class \ | 59 IDMPoint.class IDMWidget.class \ |
18 IDMButton.class IDMContainer.class \ | 60 IDMButton.class IDMContainer.class \ |
19 IDMWindow.class \ | 61 IDMWindow.class \ |
20 AnimatedPointElement.class | 62 AnimatedPointElement.class) |
21 | 63 |
22 # Utils | 64 Ristipolku.class: Ristipolku.java $(addprefix $(SRC),\ |
23 JAVAC=javac | 65 Engine.class) |
24 JAVAC_FLAGS=-g -Xlint:unchecked | 66 $(COMPILE_OBJ) |
25 APPLETVIEWER=appletviewer | |
26 | |
27 | |
28 ### | |
29 ### Targets | |
30 ### | |
31 TARGETS=$(RUN) | |
32 | |
33 all: $(TARGETS) | |
34 | |
35 $(SRC)/%.class: $(SRC)/%.java | |
36 $(JAVAC) $(JAVAC_FLAGS) $< | |
37 | |
38 Ristipolku.class: Ristipolku.java $(addprefix $(SRC)/,$(CLASSES)) | |
39 $(JAVAC) $(JAVAC_FLAGS) $< | |
40 | 67 |
41 | 68 |
42 run: $(RUN) | 69 run: $(RUN) |
43 $(APPLETVIEWER) $(patsubst %.class,%.html,$<) | 70 $(APPLETVIEWER) $(patsubst %.class,%.html,$<) |
44 | 71 |
45 | 72 |
46 ### | 73 ### |
47 ### Package | 74 ### Package |
48 ### | 75 ### |
49 $(JARFILE): $(RUN) $(RESOURCES) | 76 $(JARFILE): $(MAINCLASS) $(RESOURCES) |
50 jar cvfm $@ manifest.txt $+ $(SRC)/*.class | 77 jar cvfm $@ manifest.txt $(MAINCLASS) $(RESOURCES) $(SRC)*.class |
51 | 78 |
52 | 79 |
53 upload: $(JARFILE) | 80 upload: $(JARFILE) |
54 @scp $+ ccr@tnsp.org:tnsp/ristipolku/ | 81 @scp $+ ccr@tnsp.org:tnsp/ristipolku/ |
55 $(RM) $< | 82 $(RM) $< |
57 | 84 |
58 ### | 85 ### |
59 ### Cleanup | 86 ### Cleanup |
60 ### | 87 ### |
61 clean: | 88 clean: |
62 $(RM) $(TARGETS) *.class $(SRC)/*.class | 89 $(RM) $(TARGETS) *.class $(SRC)*.class |
63 | 90 |
64 | 91 |
65 srcclean: clean | 92 srcclean: clean |
66 $(RM) *~ game/*~ graphics/*~ | 93 $(RM) *~ game/*~ graphics/*~ |
67 | 94 |