Sokobano is an entertaining, OpenGL-based Sokoban game implementation written in Java. Source code had been modified to keep the settings, player's profile, progress, and score board in user's home directory. Inspired by: https://habr.com/ru/post/597857/
41 lines
1 KiB
Makefile
41 lines
1 KiB
Makefile
# Makefile to rebuild a limited subset of *.java files (only those that
|
|
# we patch in the port).
|
|
|
|
empty:=
|
|
space:=$(empty) $(empty)
|
|
|
|
JAR?= jar
|
|
JAVAC?= javac -encoding ISO-8859-1 -XDenableSunApiLintControl
|
|
BUILD_CLASSPATHS= \
|
|
.. $(LOCALBASE)/share/java/classes/lwjgl/lwjgl.jar
|
|
|
|
CLASS_FILES= $(JAVA_FILES:.java=.class)
|
|
JAVA_FILES= logic/ConfigManager.java \
|
|
logic/LevelManager.java \
|
|
logic/LevelSetManager.java \
|
|
logic/PlayerManager.java
|
|
|
|
BINDIR= ../../bin
|
|
VPATH= $(BINDIR)/gdi1sokoban
|
|
|
|
$(CLASS_FILES): %.class: %.java
|
|
JAVA_VERSION=$(JAVA_VERSION) $(JAVAC) \
|
|
-d $(BINDIR) \
|
|
-cp $(subst $(space),:,$(BUILD_CLASSPATHS)) \
|
|
$<
|
|
|
|
RUNTIME_CLASSPATHS= \
|
|
$(LOCALBASE)/share/java/classes/lwjgl/lwjgl.jar \
|
|
$(LOCALBASE)/share/java/classes/lwjgl/lwjgl_util.jar \
|
|
$(LOCALBASE)/share/java/classes/jmf.jar
|
|
|
|
manifest-addition:
|
|
@echo 'Class-Path: $(RUNTIME_CLASSPATHS)' > $@
|
|
@echo 'Main-Class: gdi1sokoban.Application' >> $@
|
|
|
|
Sokobano.jar: manifest-addition $(CLASS_FILES)
|
|
$(JAR) cfm $(BINDIR)/$@ $< -C $(BINDIR) gdi1sokoban
|
|
|
|
all: Sokobano.jar
|
|
|
|
.PHONY: all
|