📄 makefile
字号:
#
# $Id: Makefile,v 1.43 2002/05/06 23:55:11 lomax Exp $
#
# if need to use a particular JDK set JAVA_HOME in your env.
# if you refrence additional libraries they need to be set in the
# CLASSPATH
# Under Windows, make sure we use the forward-slash form, not the back-slash form.
ifeq (cygwin,$(OSTYPE))
override JAVA_HOME := $(shell cygpath --path --unix "$(JAVA_HOME)")
override CLASSPATH := $(shell cygpath --path --unix "$(CLASSPATH)")
endif
ifneq ($(JAVA_HOME),)
JAVAHOMEBIN = $(JAVA_HOME)/bin/
else
JAVAHOMEBIN =
endif
ifeq ($(JXTAXMLLIB),)
JXTAXMLLIB = ""
endif
ifeq ($(JXTAEXTRALIB),)
JXTAEXTRALIB = ""
endif
ifeq (true,$(NOLOG4J))
LOG4JSTUB = log4jstub/Category.java log4jstub/Priority.java
else
LOG4JSTUB =
ifeq ($(LOG4JLIB),)
LOG4JLIB = lib/log4j.jar
endif
endif
ifneq ($(CLASSPATH),)
JXTACLASSPATH = $(CLASSPATH):$(CLASSDIR):lib/beepcore.jar:$(LOG4JLIB):lib/jxtasecurity.jar:lib/javax.servlet.jar:lib/org.mortbay.jetty.jar:lib/jxtaptls.jar:lib/minimalBC.jar:lib/cryptix-asn1.jar:lib/cryptix32.jar:$(JXTAEXTRALIB)
else
JXTACLASSPATH = $(CLASSDIR):lib/beepcore.jar:$(LOG4JLIB):lib/jxtasecurity.jar:lib/javax.servlet.jar:lib/org.mortbay.jetty.jar:lib/jxtaptls.jar:lib/minimalBC.jar:lib/cryptix-asn1.jar:lib/cryptix32.jar:$(JXTAEXTRALIB)
endif
ifneq ($(CLASSPATH),)
JXTATOOLSPATH = $(CLASSPATH):$(TOOLSDIR)
else
JXTATOOLSPATH = $(TOOLSDIR):
endif
JAVA = $(JAVAHOMEBIN)java
JAVAC = $(JAVAHOMEBIN)javac
JAVADOC = $(JAVAHOMEBIN)javadoc
JAR = $(JAVAHOMEBIN)jar
CP = cp -f
HEADER = "Project JXTA"
JXTA = "Project JXTA (TM) Technology 0.1 API Documentation"
JAVAAPIFILES = $(shell find api -name '*.java' -print | grep -v -w 'CVS')
JAVACONTRIB = $(shell find contrib -name '*.java' -print | grep -v -w 'CVS')
JAVAREFFILES = $(shell find impl -name '*.java' -print | grep -v -w 'XMLDocument.java' |grep -v -w 'XMLElement.java' | grep -v -w 'CVS')
JAVAREFFILESX = $(shell find impl -name '*.java' -print | grep -v LiteXML | grep -v CVS)
JAVADOCFILES = $(JAVAAPIFILES)
JAVADOCREFFILES=$(JAVAREFFILES)
MKBUILDTAGFILE =$(TOOLSDIR)/net/jxta/build/MkBuildTag.java
BUILDTAGDIR =api/src
TOP = $(shell pwd)
CLASSDIR = $(TOP)/classes
TOOLSDIR = $(TOP)/tools
PKGDIR = $(TOP)/pkg
DOCDIR = doc
REFDOCDIR = refdoc
EXTLIB = $(JXTAXMLLIB)
# The classpath for things that require the EXTLIB files
JXTAEXTPATH = "$(JXTACLASSPATH):$(EXTLIB)"
ifeq (true,$(OPTIMIZE))
JAVACOPT=-O -g:none
else
JAVACOPT= -deprecation
endif
ifeq (true,$(XERCES))
JAVAREFFILES=$(JAVAREFFILESX)
CONFIGFILE=impl/src/net/jxta/impl/config.xerces
else
CONFIGFILE=impl/src/net/jxta/impl/config.properties
endif
USERFILE=api/src/net/jxta/user.properties
ifeq ($(LOG4JCONF),)
LOG4JCONF=log4j.properties
endif
JXTAPROP = jxta.properties
#
# Cygwin uses the MS-Windows style classpath, so "fix" it for them
# The x versions must be used with non-cygwin utilities. This
# includes:
#
# javac, javadoc and jar
#
# Note: The external, or x, forms are used for arguments only,
# not the path to the executable itself.
#
ifeq (cygwin,$(OSTYPE))
JXTACLASSPATHx := "$(shell cygpath --path --windows "$(JXTACLASSPATH)")"
JXTAEXTPATHx := "$(shell cygpath --path --windows "$(JXTAEXTPATH)")"
CLASSDIRx := "$(shell cygpath --path --windows "$(CLASSDIR)")"
JXTATOOLSPATHx := "$(shell cygpath --path --windows "$(JXTATOOLSPATH)")"
TOOLSDIRx := "$(shell cygpath --path --windows "$(TOOLSDIR)")"
MKBUILDTAGFILEx := "$(shell cygpath --path --windows "$(MKBUILDTAGFILE)")"
BUILDTAGDIRx := "$(shell cygpath --path --windows "$(BUILDTAGDIR)")"
else
JXTACLASSPATHx := "$(JXTACLASSPATH)"
JXTAEXTPATHx := "$(JXTAEXTPATH)"
CLASSDIRx := "$(CLASSDIR)"
JXTATOOLSPATHx := "$(JXTATOOLSPATH)"
TOOLSDIRx := "$(TOOLSDIR)"
MKBUILDTAGFILEx := "$(MKBUILDTAGFILE)"
BUILDTAGDIRx := "$(BUILDTAGDIR)"
endif
.PHONY: all compile javadoc refdoc clean clobber help
all: compile
compile: jar
buildTag:
@$(JAVAC) -d $(TOOLSDIRx) $(MKBUILDTAGFILEx)
@$(JAVA) -cp $(JXTATOOLSPATHx) net.jxta.build.MkBuildTag $(BUILDTAGDIRx) net.jxta.protocol.BuildTag
compall: cleanclassdir buildTag compstub
@echo building ALL using $(JAVAC)
@echo CLASSPATH = $(JXTAEXTPATHx)
@if [ '!' -d $(CLASSDIR) ]; then mkdir $(CLASSDIR); fi;
@$(JAVAC) $(JAVACOPT) -d $(CLASSDIRx) -classpath $(JXTAEXTPATHx) $(JAVAAPIFILES) $(JAVAREFFILES) $(JAVACONTRIB)
@$(CP) $(CONFIGFILE) $(CLASSDIR)/net/jxta/impl/config.properties
@$(CP) $(USERFILE) $(CLASSDIR)/net/jxta/
@$(CP) $(LOG4JCONF) $(CLASSDIR)/log4j.properties
@$(CP) $(JXTAPROP) $(CLASSDIR)
@if [ '!' -f $(CLASSDIR)/log4j.jar ]; then $(CP) $(LOG4JLIB) $(CLASSDIR)/; fi;
@if [ '!' -f $(CLASSDIR)/beepcore.jar ]; then $(CP) lib/beepcore.jar $(CLASSDIR)/; fi;
@echo Done building all.
compapi:
@echo building Core API using $(JAVAC)
@echo CLASSPATH = $(JXTACLASSPATHx)
@if [ '!' -d $(CLASSDIR) ]; then mkdir $(CLASSDIR); fi;
@$(JAVAC) $(JAVACOPT) -d $(CLASSDIRx) -classpath $(JXTAEXTPATHx) $(JAVAAPIFILES)
@echo Done building core.
compref:
@echo
@echo building Refrence Implementation using $(JAVAC)
@echo CLASSPATH = $(JXTACLASSPATH)
@if [ '!' -d $(CLASSDIR) ]; then mkdir $(CLASSDIR); fi;
@$(JAVAC) $(JAVACOPT) -d $(CLASSDIRx) -classpath $(JXTAEXTPATHx) $(JAVAREFFILES)
@$(CP) $(CONFIGFILE) $(CLASSDIR)/net/jxta/impl/config.properties
@$(CP) $(LOG4JCONF) $(CLASSDIR)/log4j.properties
@$(CP) $(USERFILE) $(CLASSDIR)/net/jxta/
@$(CP) $(JXTAPROP) $(CLASSDIR)
@if [ '!' -f $(CLASSDIR)/log4j.jar ]; then $(CP) $(LOG4JLIB) $(CLASSDIR)/
@if [ '!' -f $(CLASSDIR)/beepcore.jar ]; then $(CP) lib/beepcore.jar $(CLASSDIR)/
@echo Done building Refrence.
ifeq (true,$(NOLOG4J))
compstub:
@echo compiling Log4j Stub
@if [ '!' -d $(CLASSDIR) ]; then mkdir $(CLASSDIR); fi;
@$(JAVAC) $(JAVACOPT) -d $(CLASSDIRx) -classpath $(JXTAEXTPATHx) $(LOG4JSTUB)
@cd $(CLASSDIR); $(JAR) -cf log4j.jar org ; unzip -l log4j.jar |grep files
else
compstub:
endif
run:
nohup $(JAVA) -DSHELLNOWINDOW=false -Dnet.jxta.tls.password="password" -Dnet.jxta.tls.principal="password" -Xms64MB -classpath $(JXTACLASSPATH) Rendezvous &
jar: cleanpkg compall
@echo Creating $(CLASSDIRx)/jxta.jar
@cd $(CLASSDIR); $(JAR) -cf jxta.jar $(JXTAPROP) log4j.properties net sun Rendezvous.class ; unzip -l jxta.jar |grep files
javadoc:
@if [ '!' -d $(DOCDIR) ]; then mkdir $(DOCDIR); fi;
$(JAVADOC) -d $(DOCDIR) \
-classpath $(JXTAEXTPATHx) \
-header $(HEADER) -windowtitle $(JXTA) -doctitle $(JXTA) \
$(JAVADOCFILES)
refdoc:
@if [ '!' -d $(REFDOCDIR) ]; then mkdir $(REFDOCDIR); fi;
$(JAVADOC) -d $(REFDOCDIR) \
-classpath $(JXTAEXTPATHx) \
-header $(HEADER) -windowtitle $(JXTA) -doctitle $(JXTA) \
$(JAVADOCREFFILES)
doc: javadoc refdoc
@echo Creating all doc
cleanclassdir:
@echo cleaning $(CLASSDIRx)
@rm -rf $(CLASSDIR)
cleanpkg:
@echo cleaning pkg
@rm -rf $(PKGDIR)
clean:
@rm -rf $(CLASSDIR)
@rm -rf $(DOCDIR)
@rm -fr $(REFDOCDIR)
@rm -f TAGS tags
clobber: clean
ctags:
@echo Creating $@
@ctags $(JAVAAPIFILES) $(JAVAREFFILES)
etags:
@echo Creating $@
@etags $(JAVAAPIFILES) $(JAVAREFFILES)
tags: ctags etags
help:
@echo "# Usage : gnumake [all] [compile] [jar] [doc] [javadoc] [refdoc] [clean] [clobber] [ctags] [etags] [tags] [help]"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -