# -*- Mode: makefile -*- # # rules.properties: contains pattern rules for jaccelerator. # # Syntax here is just like in makefiles except we use ";" instead of # "LF TAB" as command delimiter. More precisely, instead of # # target+ : dependency* [; command] [ LF TAB command ]* # # we use less baroque # # target+ : dependency* [; command]* # # Restrictions: # # (1) for pattern-matching, we support only simple target patterns # with leading "%." : # # %. : %... # # This limit the expressiveness; However, it is allowed to # freely use run-time macros on the right-hand side, for instance # # %.obj : $(*:f).c # # This way, % on the right-hand side is just a shortcut for $* # %.increment : ; \ $(gen-incr-dumper-class.command); \ $(load-incr-dumper-class.command) $(*:b)_minimalClassListAndTCDumper.java; \ $(compute-dump-minimal-class-set.command) $(*:b)_minimalClassListAndTCDumper increment; \ $(drop-incr-dumper-class.command) $(*:b)_minimalClassListAndTCDumper.java; \ $(genproject.command) $(genproject.commonClosure.flags) exact_class_list.txt %.force : ; \ $(gen-incr-dumper-class.command); \ $(load-incr-dumper-class.command) $(*:b)_minimalClassListAndTCDumper.java; \ $(compute-dump-minimal-class-set.command) $(*:b)_minimalClassListAndTCDumper force; \ $(drop-incr-dumper-class.command) $(*:b)_minimalClassListAndTCDumper.java; \ $(genproject.command) $(genproject.commonClosure.flags) exact_class_list.txt %.status : ; \ $(gen-incr-dumper-class.command); \ $(load-incr-dumper-class.command) $(*:b)_minimalClassListAndTCDumper.java; \ $(compute-dump-minimal-class-set.command) $(*:b)_minimalClassListAndTCDumper increment $(status.output.file); \ $(drop-incr-dumper-class.command) $(*:b)_minimalClassListAndTCDumper.java %.generate : %.classes ; $(genproject.command) -excludeInvalidClasses $< %.$(file.extension.obj) : $(*:f).c ; $(COMPILE.c) %.$(file.extension.dll) : ; $(EXPORTS_COMMAND) ; $(LINK_COMMAND) %.stp : %.cfg ; \ $(translate.preamble.command) ; \ $(translate.command) ; \ $(dll.installer.maker.command) ; \ touch $@ %.compinstallers : ; \ $(compile.dll.installers) %.jar : $(make.deployment.jar.content) ; \ $(rm.command) $@ ; \ $(compile-for-server.javac.command) -d $(WORK_DIR) $(JA_HOME)/SQL.java ; \ $(compile.dll.installers) ; \ $(bundle.installer.maker.command) ; \ $(jar) cvf0 $@ $(jar.include.list) $(deployment.jar.content) %.createDeploymentJar : ; \ $(compile-for-server.javac.command) -d $(WORK_DIR) $(JA_HOME)/SQL.java ; \ $(compile.dll.installers) ; \ $(bundle.installer.maker.command) ; \ $(jar) cvf0 $* $(jar.include.list) $(deployment.jar.content) %.updateDeploymentJar : ; \ $(compile-for-server.javac.command) -d $(WORK_DIR) $(JA_HOME)/SQL.java ; \ $(compile.dll.installers) ; \ $(bundle.installer.maker.command) ; \ $(jar) uvf0 $* $(jar.include.list) $(deployment.jar.content) # For this to work, you need to grant the user # file-write permissions. Use javasyspriv role # if deploy-as-normal-resource method is used, otherwise # if oracle/aurora/deploy/ resources are used, use java_deploy role # %.deploy : ; \ $(deploy.command) ; \ %.install : ; \ $(dlls.status.command); \ $(dropjava) $(loadjava.connection) $*.jar %.installer : $(*:f)_Installer.java ; \ $(dll.installer.maker.command) %.clean : ; \ $(rm.command) $(MODULE_TARGETS:+".stp") ; \ $(rm.command) $(MODULE_TARGETS:+"_Installer.java") ; \ $(rm.command) $(JVMC_C_FILE_LIST) ; \ $(rm.command) $(JVMC_C_FILE_LIST:s/.c/_private.h/) ; \ $(rm.command) $(JVMC_C_FILE_LIST:s/.c/_public.h/) ; \ $(rm.command) $(DLL_LIST) $(OBJLIST) ; \ $(rmdir.command) classes ; \ $(rm.command) class_attributes.txt %.clobber : %.clean ; \ $(rm.command) $(MODULE_TARGETS:+".cfg") ; \ $(rm.command) $(MODULE_TARGETS:+".c") ; \ $(rm.command) $(MODULE_TARGETS:+".java") ; \ $(rm.command) $(MODULE_TARGETS:+".export") ; \ $(rm.command) $*.jar $*.install ; \ $(rm.command) Makefile # # To execute a shell command # Example: $JA_HOME/make.sh scott/tiger pwd.exec # %.exec : ; $* %.cd : ; /usr/bin/sh cdpwd $* # # To load something with loadjava. # Example: $JA_HOME/make.sh scott/tiger /usr/me/foo.jar.loadjava # %.loadjava : ; $(loadjava) $* %.dropjava : ; $(dropjava) $(loadjava.connection) -verbose $* # # Invoke the session shell # Example: $JA_HOME/make.sh scott/tiger //localhost:2481:orcl.sess_sh # %.sess_sh : ; sess_sh -u $(SCHEMA) -p $(PASSWORD) -s sess_iiop:$*