Example 1.7. Workshop File Structure
Example 1.8. About.makefile
############################################################################
# File : About.makefile
# Function : Make products of About EJB
# Dependencies : NMAKE.EXE (Microsoft)
# Environment : %JAVA_HOME%, %J2EE_HOME%
############################################################################
#----------------------------------------------------
# Set the name of the JavaBean you are going to make
#----------------------------------------------------
BEAN=About
#----------------------------------------------------
# All code to follow need not to be changed if you
# adhere to the workshop directory structure and
# naming convention
#----------------------------------------------------
# Inference Rules
#----------------------------------------------------
.SUFFIXES: .class .java
#----------------------------------------------------
# Tools
#----------------------------------------------------
JAVAC=$(JAVA_HOME)\bin\javac
JAVAJAR=$(JAVA_HOME)\bin\jar
#----------------------------------------------------
WS_HOME=..\..\..\..\..\..\..
CLASSFILES=$(WS_HOME)\target
CLSPTH=$(CLASSFILES);$(J2EE_HOME)\lib\j2ee.jar
URLPATH=nl\datraverse\workshop\ejb\beans
T=$(CLASSFILES)\$(URLPATH)
S=.
#----------------------------------------------------
JAR=$(BEAN)Bean
HOME=$(BEAN)Home
IMPLEMENTATION=$(BEAN)EJB
CLIENT=$(BEAN)Client
#----------------------------------------------------
all: jar client
jar: $(CLASSFILES)\$(JAR).jar
client: $(CLASSFILES)\$(CLIENT).class
#----------------------------------------------------
{$(S)}.java{$(T)}.class:
$(JAVAC) $(S)\$(@B).java -d $(CLASSFILES) -classpath $(CLSPTH)
#----------------------------------------------------
$(CLASSFILES)\$(CLIENT).class: $(S)\$(CLIENT).java
$(JAVAC) $(S)\$(@B).java -d $(CLASSFILES) -classpath $(CLSPTH)
#----------------------------------------------------
$(CLASSFILES)\$(JAR).jar: $(T)\$(BEAN).class \
$(T)\$(HOME).class \
$(T)\$(IMPLEMENTATION).class
$(JAVAJAR) cf $(CLASSFILES)\$(JAR).jar META-INF\*.*
@cd $(CLASSFILES)
$(JAVAJAR) uf $(JAR).jar $(URLPATH)\$(BEAN)*.class
@cd ..\sources\$(URLPATH)\$(BEAN)
#----------------------------------------------------
showjar:
@cd $(CLASSFILES)
@$(JAVAJAR) tf $(JAR).jar
#----------------------------------------------------
cleanjar:
cd $(CLASSFILES)
del $(JAR).jar
#----------------------------------------------------
clean:
cd $(CLASSFILES)
del $(JAR).jar
del $(CLIENT).class
del $(URLPATH)\$(BEAN)*.class
#-----------------------
# end of makefile |