# # Makefile for the Calendar Tool Java implementation. # # CSC 206 java lib directory, binaries. LIB206 = /home/gfisher/classes/206/lib/JVM # CSC 206 java lib directory, source LIB206LIB = /home/gfisher/classes/206/lib/source # CSC 206 java lib directory, source files. LIB206SRC = /home/gfisher/classes/206/lib/source/mvp/*.java # Directory for generated executable files EXECUTABLES = ../../executables/JVM # Files to compile FILES = \ caltool/*.java \ caltool/admin/*.java \ caltool/admin/administrator/*.java \ caltool/admin/user/*.java \ caltool/admin_ui/*.java \ caltool/admin_ui/administrator_ui/*.java \ caltool/admin_ui/user_ui/*.java \ caltool/caldb/*.java \ caltool/caltool_ui/*.java \ caltool/edit/*.java \ caltool/edit_ui/*.java \ caltool/file/*.java \ caltool/file_ui/*.java \ caltool/help/*.java \ caltool/help_ui/*.java \ caltool/options/*.java \ caltool/options_ui/*.java \ caltool/schedule/*.java \ caltool/schedule_ui/*.java \ caltool/server/*.java \ caltool/view/*.java \ caltool/view_ui/*.java # List of packages PACKAGES = \ caltool \ caltool/admin \ caltool/admin/administrator \ caltool/admin/user \ caltool/admin_ui \ caltool/admin_ui/administrator_ui \ caltool/admin_ui/user_ui \ caltool/caldb \ caltool/caltool_ui \ caltool/edit \ caltool/edit_ui \ caltool/file \ caltool/file_ui \ caltool/help \ caltool/help_ui \ caltool/options \ caltool/options_ui \ caltool/schedule \ caltool/schedule_ui \ caltool/server \ caltool/view \ caltool/view_ui OPENJML = /Users/gfisher/classes/308/bin/openjml JML = \ java -Xbootclasspath/p:$(OPENJML)/openjmlboot.jar -jar \ $(OPENJML)/openjml.jar -noPurityCheck # Run the Java compiler on all of the files. rall: $(FILES) # echo $(FILES) javac -g \ -classpath $(LIB206) \ -d $(EXECUTABLES) \ $(FILES) cd $(EXECUTABLES); make # Run the JML compiler on all of the files. jml: $(FILES) # echo $(FILES) $(JML) -cp $(LIB206LIB) mvp/*.java \ \$(FILES) # The preceding rule results in an executable program that is invoked as # follows from the implementation/executables/JVM directory: # # java caltool.Main # # The makefile in that dir has more information about altenate forms of java # program invocation. # Compile with the gnu java compiler. gcj: $(FILES) # echo $(FILES) gcj -g \ -classpath $(LIB206):. \ -d $(EXECUTABLES) \ --main=Main \ $(FILES) # Generate a source dir command for emacs jdb debugging. emacs-jdb: csh -q -c ".make-emacs-jdb-dirs $(PACKAGES)" # Run the Java compiler on all of the files, putting the class files in this # source dir, where bluej wants them. bluej: $(FILES) # echo $(FILES) javac -g \ -classpath $(LIB206) \ -d . \ $(FILES) cd $(EXECUTABLES); make exec # Print source files in small-font, line-numbered, two-column format. print: csh -q -c ".make-print $(PACKAGES)" # Echo the package names for use in command-line processing of all packages, # such as copying a uniform .cvsignore file into each package dir. echop: @echo $(PACKAGES) # Remove all .class files from the executables/JVM dir. clean: csh -q -c ".make-clean" # Remove all .class files from this dir. cleanbluej: csh -q -c ".make-clean-bluej"