# Program name: Makefile # Description: Build the rra distribution # Author: Don Brutzman # Revised: 9 July 2000 # # Invocation: cd /vrtp/rra # make all # # or: make help # make build --unix -i # make build --unix --ignore-errors # # # Environment: Cygnus Development Kit (CDK) B20 make # Windows NT 4.0 # Java JDK 1.3 # Chisel and Vorlon http://www.trapezium.com # # Setup: you can omit --unix in the invocation if you # set the environment variable MAKE_MODE=UNIX # # URL: http://devo.stl.nps.navy.mil/dis-java-vrml/rra/Makefile # # ============================================================================== help: @echo "make --unix -i rra" @echo "" @echo "[make is only needed for rra source code developers ]" @echo "[note that you can omit --unix in the invocation if you ]" @echo "[ set the environment variable MAKE_MODE = UNIX ]" @echo "" # ============================================================================== # set VERBOSE=-verbose # or set VERBOSE= VERBOSE= verbose: @echo Makefile verbose mode setting: $(VERBOSE) # ============================================================================== all: make -i --unix build rra: make -i --unix build build: @echo 'rra: build rra distribution' @date make -i path make -i stubs make -i java make -i BattleScene make -i javadoc make -i examples make -i weblint make -i chisel make -i vorlon make -i clean make -i compress @echo 'rra: make rra complete.' @echo 'Save CommandOutput window as make_rra.out' # ============================================================================== # Path setup # Initial setup: ensure CLASSPATH is set as specified in # AnnotatedReferences.html#PCSoftwareSetup, then reboot before building. # # BROWSER_CLASSPATH adds Netscape classes for netscape.security.* and # avoids AWT deprecations. # # Uncomment/comment (and edit) Windows and/or Unix paths as appropriate: # Windows paths: DRIVE = C: #DRIVE = /c/cygwin VRTP_CLASSPATH = $(DRIVE)/vrtp JDK_CLASSPATH = /jdk1.3 EAI_CLASSPATH = /Program Files/CosmoSoftware/CosmoPlayer/npcosmop211.zip BROWSER_CLASSPATH = /Program Files/Netscape/Communicator/Program/Java/Classes/java40.jar VORLON_CLASSPATH = c:/vrml/vorlon/chisel.jar DEVCLASSPATH = $(VRTP_CLASSPATH);$(JDK_CLASSPATH);$(EAI_CLASSPATH);$(BROWSER_CLASSPATH);$(VORLON_CLASSPATH) MATLABPATH = d:/Program Files/MATLABR11/bin # Unix paths: #VRTP_CLASSPATH = /home/faculty/brutzman/.public_html/dis-java-vrml #JDK_CLASSPATH = /usr/java/bin #EAI_CLASSPATH = /usr/CosmoPlayer/classes/vrml #BROWSER_CLASSPATH = /usr/netscape/java40.jar #DEVCLASSPATH = $(VRTP_CLASSPATH):$(JDK_CLASSPATH):$(STUBS_CLASSPATH):$(EAI_CLASSPATH):$(BROWSER_CLASSPATH):$(CLASSPATH):$(PATH) JAVA_DIR = $(JDK_CLASSPATH)/bin # incidentally, syntax for (unused) command line invocation using CLASSPATH variables: # # javac -verbose -deprecation -classpath "%DEVCLASSPATH%;%CLASSPATH%" *.java path: $(JAVA_DIR)/java -version @echo @echo PATH= @echo "$(PATH)" @echo @echo VRTP_CLASSPATH= @echo "$(VRTP_CLASSPATH)" @echo @echo JDK_CLASSPATH= @echo "$(JDK_CLASSPATH)" @echo @echo EAI_CLASSPATH= @echo "$(EAI_CLASSPATH)" @echo @echo BROWSER_CLASSPATH= @echo "$(BROWSER_CLASSPATH)" @echo @echo VORLON_CLASSPATH= @echo "$(VORLON_CLASSPATH)" @echo @echo DEVCLASSPATH= @echo "$(DEVCLASSPATH)" @echo @echo original CLASSPATH= @echo "$(CLASSPATH)" @echo # ============================================================================== # vrml.* class stubs # # vrml.* Java Script Authoring Interface (JSAI) stubs constructed by # Greg Seidman, Brown University/NIST gseidman@acm.org # to provide browser-independent vrml.* class access # http://zing.ncsl.nist.gov/~gseidman/vrml/JSAIstubs.zip stubs: make -i stub_directory_rename make -i stub_compile make -i stub_directory_restore stub_directory_rename: @echo 'vrml.* stub classes are ordinarily hidden from browser under vrml.JSAIstubs, restore:' mv $(VRTP_CLASSPATH)/vrml.JSAIstubs $(VRTP_CLASSPATH)/vrml stub_compile: cd $(VRTP_CLASSPATH)/vrml; pwd; rm -f *.class cd $(VRTP_CLASSPATH)/vrml/node; pwd; rm -f *.class cd $(VRTP_CLASSPATH)/vrml/field; pwd; rm -f *.class cd $(VRTP_CLASSPATH)/vrml; pwd; $(JAVA_DIR)/javac $(VERBOSE) -deprecation -classpath "$(DEVCLASSPATH)" *.java cd $(VRTP_CLASSPATH)/vrml/node; pwd; $(JAVA_DIR)/javac $(VERBOSE) -deprecation -classpath "$(DEVCLASSPATH)" *.java cd $(VRTP_CLASSPATH)/vrml/field; pwd; $(JAVA_DIR)/javac $(VERBOSE) -deprecation -classpath "$(DEVCLASSPATH)" *.java stub_directory_restore: # occasionally needed when Make is interrupted and subdirectory is not remade @echo 'again hide the vrml.* stub classes from browser under vrml.JSAIstubs:' mv $(VRTP_CLASSPATH)/vrml $(VRTP_CLASSPATH)/vrml.JSAIstubs # ============================================================================== java: @echo 'rra: java' rm -f ../mil/navy/nps/rra/*.class cd ../mil/navy/nps/rra; pwd; $(JAVA_DIR)/javac $(VERBOSE) -deprecation -classpath "$(DEVCLASSPATH)" *.java javadoc: @echo 'rra: javadoc' @echo 'stub_directory_restore just in case it is needed, usually triggers an ignorable error:' make -i stub_directory_restore make -i stub_directory_rename # rm -r ../javadoc/rra/* $(JAVA_DIR)/javadoc -package -version -author -d ../javadoc/rra \ -overview ../mil/navy/nps/rra/packageDescription.html \ -windowtitle "Recursive Ray Acoustics (rra)" \ mil.navy.nps.rra \ demo.rraBattleScene \ vrml \ vrml.node \ vrml.field make -i stub_directory_restore examples: @echo 'rra: build example vrml output files' cd ../mil/navy/nps/rra; pwd; $(JAVA_DIR)/java $(VERBOSE) mil.navy.nps.rra.ExampleColorBar > ExampleColorBar.wrl cd ../mil/navy/nps/rra; pwd; $(JAVA_DIR)/java $(VERBOSE) mil.navy.nps.rra.ExampleRay > ExampleRay.wrl cd ../mil/navy/nps/rra; pwd; $(JAVA_DIR)/java $(VERBOSE) mil.navy.nps.rra.ExampleBeamStatic > ExampleBeamStatic.wrl cd ../mil/navy/nps/rra; pwd; $(JAVA_DIR)/java $(VERBOSE) mil.navy.nps.rra.ExampleBeamDynamic > ExampleBeamDynamic.wrl cd ../mil/navy/nps/rra; pwd; $(JAVA_DIR)/java $(VERBOSE) mil.navy.nps.rra.ExampleLobeStatic > ExampleLobeStatic.wrl cd ../mil/navy/nps/rra; pwd; $(JAVA_DIR)/java $(VERBOSE) mil.navy.nps.rra.ExampleLobeDynamic > ExampleLobeDynamic.wrl rm -f ../mil/navy/nps/rra/TransmissionLoss.wrl cd ../mil/navy/nps/rra; pwd; $(JAVA_DIR)/java $(VERBOSE) mil.navy.nps.rra.TransmissionLoss >> TransmissionLoss.wrl rm -f ../mil/navy/nps/rra/TransmissionLoss2d.output.txt cd ../mil/navy/nps/rra; pwd; $(JAVA_DIR)/java $(VERBOSE) mil.navy.nps.rra.TransmissionLoss2d >> TransmissionLoss2d.output.txt rm -f ../mil/navy/nps/rra/TransmissionLossNormalMode.output.txt cd ../mil/navy/nps/rra; pwd; $(JAVA_DIR)/java $(VERBOSE) mil.navy.nps.rra.TransmissionLossNormalMode >> TransmissionLossNormalMode.output.txt weblint: @echo 'rra: file syntax checks' perl /perl/weblint/weblint -e badlink -e img-size -x Netscape *.html cd ../mil/navy/nps/rra; pwd; perl /perl/weblint/weblint -e badlink -e img-size -x Netscape *.html vorlon: cd ../mil/navy/nps/rra; pwd; vorlon *.wrl -nowarning -url cd ../mil/navy/nps/rra; pwd; rm filelist.vorlon.warnings.out cd ../mil/navy/nps/rra; pwd; vorlon *.wrl -url >> filelist.vorlon.warnings.out cd ../mil/navy/nps/rra; pwd; ls -l filelist.vorlon.warnings.out clean: @echo 'rra: clean' rm -f ../rra/*.'$$$$$$' rm -f ../demo/rraBattleScene/*.'$$$$$$' rm -f ../mil/navy/nps/rra/*.'$$$$$$' compress: make -i clean cp rra.html index.html @echo 'rra: compress tar and zip distributions' cd ../..; pwd; rm -f rra.tar.gz cd ../..; pwd; rm -f rra.zip cd ../..; pwd; tar -cvf rra.tar --exclude=*.'$$$$$$' \ vrtp/README.txt \ vrtp/rra/rra.html \ vrtp/rra/build.date.rra.txt \ vrtp/rra/Makefile \ vrtp/rra/make_rra.out* \ vrtp/rra/worklist.txt \ vrtp/rra/HollidayRRA* \ vrtp/rra/images/ \ vrtp/javadoc/rra/* \ vrtp/demo/rraBattleScene/* \ vrtp/mil/navy/nps/rra/* # cd ../..; pwd; jar -cvf rra.zip \ vrtp/README.txt \ vrtp/rra/rra.html \ vrtp/rra/build.date.rra.txt \ vrtp/rra/Makefile \ vrtp/rra/make_rra.out* \ vrtp/rra/worklist.txt \ vrtp/rra/HollidayRRA* \ vrtp/rra/images/ \ vrtp/javadoc/rra/* \ vrtp/demo/rraBattleScene/* \ vrtp/mil/navy/nps/rra/* cd ../..; pwd; rm -f rra.tar.gz cd ../..; pwd; gzip rra.tar mv ../../rra.tar.gz .. mv ../../rra.zip .. ls -l ../rra.tar.gz ls -l ../rra.zip @echo 'rra: update the release date file' @echo '' > build.date.rra.txt @echo 'build.date.rra.txt' >> build.date.rra.txt @echo '==================' >> build.date.rra.txt @echo '' >> build.date.rra.txt date >> build.date.rra.txt @echo '' >> build.date.rra.txt # note that the following file sizes are from preceding build ls -l ../rra.tar.gz >> build.date.rra.txt ls -l ../rra.zip >> build.date.rra.txt @echo '' >> build.date.rra.txt cat build.date.rra.txt @echo ' to uncompress: gunzip -f rra.tar.gz' @echo ' to untar: tar -xvf rra.tar' @echo ' to unzip: jar -xvf rra.zip' @echo '' @echo 'save previous build output file' cp make_rra.out make_rra.out.previous @echo '' # ============================================================================== chisel: cd ../mil/navy/nps/rra; pwd; rm *chiseled.wrl cd ../mil/navy/nps/rra; pwd; $(JAVA_DIR)/java $(VERBOSE) -mx128m -classpath "$(DEVCLASSPATH)" \ trapezium.chisel.CLChisel ChiselSetupForGeneratedScenes.html Example*.wrl -gzip # can check results with vorlon after turning off -gzip flag above # cd ../mil/navy/nps/rra; pwd; vorlon -url *.wrl # ============================================================================== # still needs work but getting closer... BattleScene: @echo 'rra: BattleScene' @echo 'stub_directory_restore just in case it is needed, usually triggers an ignorable error:' make -i stub_directory_restore make -i stub_directory_rename cd ../demo/rraBattleScene; pwd; $(JAVA_DIR)/javac $(VERBOSE) -deprecation -classpath "$(DEVCLASSPATH)" *.java make -i stub_directory_restore # ============================================================================== matlab: @echo 'rra: matlab' cd ../mil/navy/nps/rra; pwd; $(MATLABPATH)/matlab ExampleRay.m cd ../mil/navy/nps/rra; pwd; vorlon -url ExampleRay.matlab.wrl