################################################################################ # Macros PROJECT_PATH = /n/fs/introcs/www/turing SOURCE_PATH = $(PROJECT_PATH)/src DESTINATION_PATH = $(PROJECT_PATH)/classes FILES_PATH = $(PROJECT_PATH)/files IMAGES_PATH = $(PROJECT_PATH)/images MANIFEST_FILE = $(PROJECT_PATH)/turingManifest.mf JAR_FILE = $(PROJECT_PATH)/turing.jar KEYSTORE_FILE = $(PROJECT_PATH)/turingKeystore KEYSTORE_PASSWORD = turing KEY_PASSWORD = turing KEY_CONF_FILE = $(PROJECT_PATH)/turingKeystore.conf KEY_ALIAS = "Big Al" TARGET_JVM = 1.2 JAVAC12 = "/usr/local/java/jdk1.2/bin/javac" JAVAC15 = "/usr/local/java/jdk1.5/bin/javac" FILE_LIST = $(SOURCE_PATH)/*.java ################################################################################ # Build Rules .PHONY: menu all compile certificate jar permissions menu: # # Usage: # # make menu- Prints this usage menu. # make all- Calls compile, certificate, jar, and javadoc. # make compile- Remakes the class files. # make certificate- Remakes the certificate (certificates expire in # about 3 months for some reason). # make jar- Repacks and signs the jar file. # make permissions- Resets the permissions of all files in the project # folder to 775. # all: compile certificate jar permissions compile: # # Compiling... # rm -Rf $(DESTINATION_PATH) mkdir $(DESTINATION_PATH) $(JAVAC15) -g -d $(DESTINATION_PATH) -sourcepath $(SOURCE_PATH) -classpath $(DESTINATION_PATH) -deprecation $(FILE_LIST) # $(JAVAC15) -g -target $(TARGET_JVM5) -d $(DESTINATION_PATH) -sourcepath $(SOURCE_PATH) -classpath $(DESTINATION_PATH) -deprecation $(FILE_LIST) chmod -R 775 $(PROJECT_PATH)/ certificate: # # Generating keystore... # rm -f $(KEYSTORE_FILE) keytool -genkey -keystore $(KEYSTORE_FILE) -alias $(KEY_ALIAS) -keypass $(KEY_PASSWORD) -storepass $(KEYSTORE_PASSWORD) < $(KEY_CONF_FILE) jar: # # Generating JAR file... # rm -f $(JAR_FILE) rm -rf jar mkdir jar cp $(DESTINATION_PATH)/* jar cp $(IMAGES_PATH)/* jar cp $(FILES_PATH)/*.tur jar cd jar; jar cmf $(MANIFEST_FILE) $(JAR_FILE) * jarsigner -keystore $(KEYSTORE_FILE) -keypass $(KEY_PASSWORD) -storepass $(KEYSTORE_PASSWORD) $(JAR_FILE) $(KEY_ALIAS) chmod -R 775 $(PROJECT_PATH)/ permissions: chmod -R 775 $(PROJECT_PATH)/