view Makefile @ 197:f3302a2d7815

Convert to a Java application, instead of browser applet, as no browser supports Java applets anymore.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 24 Apr 2019 12:55:54 +0300
parents 60871afc2702
children f6f8fd893c49
line wrap: on
line source

###
### 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/

RESOURCES=\
	graphics/*.png \
	graphics/*.jpg \
	graphics/font.ttf \
	sounds/*.wav


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 \
	Interpolate.class \
	ResourceLoader.class \
	Sound.class SoundManager.class \
	IDMPoint.class IDMWidget.class \
	IDMButton.class IDMContainer.class \
	IDMWindow.class \
	AnimatedPointElement.class)

Ristipolku.class: Ristipolku.java $(addprefix $(SRC),\
	Engine.class)
	$(COMPILE_OBJ)


run: $(MAINCLASS)
	@$(JAVA) $(JAVA_FLAGS) $(patsubst %.class,%,$<)


###
### Package
###
$(JARFILE): $(MAINCLASS) $(RESOURCES)
	jar cvfm $@ manifest.txt $(MAINCLASS) $(RESOURCES) $(SRC)*.class


upload: $(JARFILE)
	@scp $+ ccr@tnsp.org:tnsp/ristipolku/
	$(RM) $<


###
### Cleanup
###
clean:
	$(RM) $(TARGETS) *.class $(SRC)*.class


srcclean: clean
	$(RM) *~ game/*~ graphics/*~

# dummy