📄 makefile
字号:
#
# $Id: Makefile,v 1.9 2001/11/16 06:53:33 tra 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
#
ifneq ($(JAVA_HOME),)
JAVAHOMEBIN = $(JAVA_HOME)/bin/
else
JAVAHOMEBIN =
endif
JAVA = $(JAVAHOMEBIN)java
JAVAC = $(JAVAHOMEBIN)javac
JAVADOC = $(JAVAHOMEBIN)javadoc
JAR = $(JAVAHOMEBIN)jar
CP = cp -f
HEADER = "Project JXTA"
JXTA = "Project JXTA (TM) Technology 1.0"
TOP = $(shell pwd)
CLASSDIR = $(TOP)/classes
PKGDIR = $(TOP)/pkg
LIBDIR = $(PKGDIR)/lib
CLIENTDIR = $(PKGDIR)/client
SERVERDIR = $(PKGDIR)/server
BINDIR = $(PKGDIR)/classes
DOCDIR = doc
REFDOCDIR = refdoc
PLATFORMCLASSES = $(PLATFORM)/classes
PLATFORMLIB = $(PLATFORMCLASSES)/jxta.jar
ifeq ($(PLATFORM),)
PLATFORM = "../../../../../../platform/binding/java"
endif
ifeq ($(JXTAXMLLIB),)
JXTAXMLLIB =""
endif
ifeq ($(LOG4JLIB),)
LOG4JLIB = $(PLATFORM)/lib/log4j.jar
endif
ifeq ($(BEEPLIB),)
BEEPLIB = $(PLATFORM)/lib/beepcore.jar
endif
ifeq ($(JXTASECLIB),)
JXTASECLIB = $(PLATFORM)/lib/jxtasecurity.jar
endif
ifeq ($(JETTYLIB),)
JETTYLIB = $(PLATFORM)/lib/org.mortbay.jetty.jar
endif
ifeq ($(SERVLETLIB),)
SERVLETLIB = $(PLATFORM)/lib/servlet.jar
endif
ifeq ($(JXTATLSLIB1),)
JXTATLSLIB1 = $(PLATFORM)/lib/cryptix-asn1.jar
endif
ifeq ($(JXTATLSLIB2),)
JXTATLSLIB2 = $(PLATFORM)/lib/cryptix32.jar
endif
ifeq ($(JXTATLSLIB3),)
JXTATLSLIB3 = $(PLATFORM)/lib/jxtaptls.jar
endif
ifeq ($(JXTATLSLIB4),)
JXTATLSLIB4 = $(PLATFORM)/lib/minimalBC.jar
endif
ifneq ($(CLASSPATH),)
JXTACLASSPATH="$(CLASSPATH)$(CPSEP)$(CLASSDIR)$(CPSEP)$(PLATFORMLIB)$(CPSEP)$(JXTAXMLLIB)$(CPSEP)$(LOG4JLIB)$(CPSEP)$(BEEPLIB)$(CPSEP)$(JXTASECLIB)$(CPSEP)$(JXTATLSLIB1)$(CPSEP)$(JXTATLSLIB2)$(CPSEP)$(JXTATLSLIB3)$(CPSEP)$(JXTATLSLIB4)"
JXTACLASSPATHRUN="$(CLASSPATH)$(CPSEP)$(CLASSDIR)$(CPSEP)../$(PLATFORMLIB)$(CPSEP)../$(JXTAXMLLIB)$(CPSEP)../$(LOG4JLIB)$(CPSEP)../$(BEEPLIB)$(CPSEP)../$(JXTASECLIB)$(CPSEP)../$(JETTYLIB)$(CPSEP)../$(SERVLETLIB)$(CPSEP)../$(JXTATLSLIB1)$(CPSEP)../$(JXTATLSLIB2)$(CPSEP)../$(JXTATLSLIB3)$(CPSEP)../$(JXTATLSLIB4)"
else
JXTACLASSPATH="$(CLASSDIR)$(CPSEP)$(PLATFORMLIB)$(CPSEP)$(JXTAXMLLIB)$(CPSEP)$(LOG4JLIB)$(CPSEP)$(BEEPLIB)$(CPSEP)$(JXTASECLIB)$(CPSEP)$(JXTATLSLIB1)$(CPSEP)$(JXTATLSLIB2)$(CPSEP)$(JXTATLSLIB3)$(CPSEP)$(JXTATLSLIB4)"
JXTACLASSPATHRUN="$(CLASSDIR)$(CPSEP)$(CLASSDIR)$(CPSEP)../$(PLATFORMLIB)$(CPSEP)../$(JXTAXMLLIB)$(CPSEP)../$(LOG4JLIB)$(CPSEP)../$(BEEPLIB)$(CPSEP)../$(JXTASECLIB)$(CPSEP)../$(JETTYLIB)$(CPSEP)../$(SERVLETLIB)$(CPSEP)../$(JXTATLSLIB1)$(CPSEP)../$(JXTATLSLIB2)$(CPSEP)../$(JXTATLSLIB3)$(CPSEP)../$(JXTATLSLIB4)"
endif
ifeq (true,$(OPTIMIZE))
JAVACOPT=-O -g:none
else
JAVACOPT=
endif
#
# Cygwin uses the MS-Windows style classpath, so "fix" it for them
#
ifeq (cygwin,$(OSTYPE))
CPSEP = ";"
TOP := "$(shell cygpath --path --windows "$(TOP)")"
JXTACLASSPATH := "$(shell cygpath --path --windows "$(JXTACLASSPATH)")"
# JAVAHOMEBIN := "$(shell cygpath --path --windows "$(JAVAHOMEBIN)")"
else
CPSEP = ":"
endif
.PHONY: all compile server client clean clobber help
all: compile
compile: server client
$(PLATFORMLIB):
@echo building Platform using $(JAVAC)
@echo CLASSPATH = $(JXTACLASSPATH)
$(MAKE) -C $(PLATFORM)
client:
@echo building Client Side using $(JAVAC)
@echo CLASSPATH = $(JXTACLASSPATH)
@if [ '!' -d $(CLASSDIR) ]; then mkdir $(CLASSDIR); fi;
@$(JAVAC) $(JAVACOPT) -d $(CLASSDIR) -deprecation -classpath $(JXTACLASSPATH) client/Client.java
@echo Done building Client
server:
@echo building Server Side using $(JAVAC)
@echo CLASSPATH = $(JXTACLASSPATH)
@if [ '!' -d $(CLASSDIR) ]; then mkdir $(CLASSDIR); fi;
@$(JAVAC) $(JAVACOPT) -d $(CLASSDIR) -deprecation -classpath $(JXTACLASSPATH) server/Server.java
@echo Done building Server
run_server:
@if [ '!' -d server ]; then mkdir server; fi;
@echo $(JXTACLASSPATHRUN)
@cd server; $(JAVA) -classpath $(JXTACLASSPATHRUN) Server;
run_client:
@if [ '!' -d client ]; then mkdir client; fi;
@echo $(JXTACLASSPATHRUN)
@cd client; $(JAVA) -classpath $(JXTACLASSPATHRUN) Client;
zip:
@echo "Creating $(PKGDIR) directory"
@if [ '!' -d $(CLIENTDIR) ]; then mkdir -p $(CLIENTDIR); fi;
@if [ '!' -d $(SERVERDIR) ]; then mkdir -p $(SERVERDIR); fi;
@if [ '!' -d $(LIBDIR) ]; then mkdir -p $(LIBDIR); fi;
@if [ '!' -d $(BINDIR) ]; then mkdir -p $(BINDIR); fi;
@echo "Copying libraries into $(LIBDIR)"
@cd $(LIBDIR); \
cp ../../$(JXTASECLIB) .; \
cp ../../$(BEEPLIB) .; cp ../../$(JETTYLIB) .; cp ../../$(SERVLETLIB) .; \
cp ../../$(PLATFORMLIB) . ; cp ../../$(LOG4JLIB) . ; cp ../../$(BEEPLIB) . ; \
cp ../../$(JXTATLSLIB1) . ; cp ../../$(JXTATLSLIB2) . ; \
cp ../../$(JXTATLSLIB3) . ; \
cp ../../$(JXTATLSLIB4) . ;
@echo "Copying sources and executables"
@cd $(CLIENTDIR); cp ../../client/Client.java . ;
@cd $(SERVERDIR); cp ../../server/Server.java . ; \
cp ../../server/pipeserver.adv . ;
@cd $(SERVERDIR); cp ../../server/Server.java . ; \
cp ../../server/pipeserver.adv . ;
@cd $(PKGDIR) cp ../README Readme.html .; \
cp ../Makefile .
@cd $(BINDIR); cp ../../classes/Server.class . ; \
cp ../../classes/Client.class . ;
@echo "Creating ex1.zip
cd $(PKGDIR);zip -r ../ex1 . ; unzip -l ../ex1.zip |grep files
cleanclassdir:
@echo cleaning $(CLASSDIR)
@rm -rf $(CLASSDIR)
clean:
@rm -rf $(CLASSDIR)
@rm -rf $(DOCDIR)
@rm -fr $(REFDIR)
clobber: clean
help:
@echo "# Usage : gnumake [all] [compile] [jar] [run] [doc] [javadoc] [refdoc] [clean] [clobber] [help]"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -