# # Makefile for MIDP programs # # Originally based on the build system from # http://www.lugs.ch/~rdm/index.php?wiki=PacmanEN # # # Settings pertinent to the current application # NAME = "Pac Man" VERSION = "1.2" VENDOR = "JiukaSoftware Inc" PROFILE = "MIDP-2.0" CONFIG = "CLDC-1.0" DESCRIPTION = "PacMan clone for mobiles" ICON = icon.png MIDLET = PacmanMIDlet PACKAGE = "Pacman" # # These settings are specific to my personal configuration. # It is quite likely that you will need to change them. # MIDP_PATH = $(HOME)/bin/nokia/Devices/Series_60_MIDP_Concept_SDK_Beta_0_3_1_Nokia_edition JAVA_PATH = /usr/lib/j2se/1.4/bin # # Locations of files to be packaged # # java sources SRC_DIR = src # resource files RES_DIR = res # manifest file MANIFEST_DIR= META-INF MANIFEST = MANIFEST.MF # These settings should be OK if you are using the Nokia SDK EMULATOR = $(MIDP_PATH)/bin/emulator PREVERIFY = $(MIDP_PATH)/bin/preverify EMULATOR_OPTS = -Xdevice:$(MIDP_PATH) PREVERIFY_OPTS = -cldc CLASSPATH = $(MIDP_PATH)/lib/classes.zip # # hopefully the rest should be generic # COMPILER = javac ARCHIVER = jar JAR = $(PACKAGE).jar JAD = $(PACKAGE).jad META = $(MANIFEST_DIR)/$(MANIFEST) SOURCES = $(wildcard $(SRC_DIR)/*.java) CLASSES = $(SOURCES:java=class) PREVERIFIED_DIRECTORY = preverified-temp CLASS_DIR = class .SUFFIXES: .class .java .PHONY: classdir classes clean manifest all: $(JAD) exec: all ${EMULATOR} ${EMULATOR_OPTS} -Xdescriptor:${JAD} clean: rm -rf $(CLASS_DIR) ${PREVERIFIED_DIRECTORY} classdir: rm -rf $(CLASS_DIR) mkdir $(CLASS_DIR) classes: $(SOURCES) $(JAVA_PATH)/$(COMPILER) -classpath $(CLASSPATH) -d $(CLASS_DIR) $^ .java.class: $(JAVA_PATH)/$(COMPILER) -classpath $(CLASSPATH) -d $(CLASS_DIR) $< # To build one-by-one, change the following target to $(CLASSES) $(JAR): classes rm -rf ${PREVERIFIED_DIRECTORY} ${PREVERIFY} ${PREVERIFY_OPTS} -classpath ${CLASSPATH} -d ${PREVERIFIED_DIRECTORY} ${CLASS_DIR} $(JAVA_PATH)/$(ARCHIVER) cvfm ${JAR} $(META) -C $(PREVERIFIED_DIRECTORY) . $(JAVA_PATH)/$(ARCHIVER) uvf ${JAR} -C $(RES_DIR) . $(JAD): $(JAR) manifest echo "MIDlet-Name: ${NAME}" > ${JAD} echo "MIDlet-Version: ${VERSION}" >> ${JAD} echo "MIDlet-Vendor: ${VENDOR}" >> ${JAD} echo "MicroEdition-Profile: ${PROFILE}" >> ${JAD} echo "MicroEdition-Configuration: ${CONFIG}" >> ${JAD} echo "MIDlet-Jar-URL: ${JAR}" >> ${JAD} echo "MIDlet-Jar-Size: `du -b ${JAR} | sed 's/\W.*//'`" >> ${JAD} echo "MIDlet-Description: ${DESCRIPTION}" >> ${JAD} echo "MIDlet-Icon: /${ICON}" >> ${JAD} echo "MIDlet-1: ${NAME}, /${ICON}, ${MIDLET}" >> ${JAD} manifest: test -d $(MANIFEST_DIR) || mkdir $(MANIFEST_DIR) echo "Manifest-Version: 1.0" > ${META} echo "MicroEdition-Configuration: ${CONFIG}" >> ${META} echo "MIDlet-Name: ${NAME}" >> ${META} echo "MIDlet-Icon: /${ICON}" >> ${META} echo "MIDlet-Vendor: ${VENDOR}" >> ${META} echo "MIDlet-1: ${NAME}, /${ICON}, ${MIDLET}" >> ${META} echo "MIDlet-Version: ${VERSION}" >> ${META} echo "MicroEdition-Profile: ${PROFILE}" >> ${META} echo "MIDlet-Description: ${DESCRIPTION}" >> ${META}