created mirror
This commit is contained in:
185
Java/Makefile
Normal file
185
Java/Makefile
Normal file
@@ -0,0 +1,185 @@
|
||||
# This Makefile requires GNU make.
|
||||
|
||||
# IF YOU HAVE TROUBLE COMPILING, JUST REMOVE SOME MODULES
|
||||
# AND GREEK CLANGS FIRST.
|
||||
|
||||
#
|
||||
# Modules
|
||||
# - which modules (directories in ../Modules) to compile in
|
||||
#
|
||||
MODULES=applet mbox joystick test 3d xml extern prez \
|
||||
textcloud daytimedemo hypergenealogy nile notemap \
|
||||
benchmark zaubertrank mind \
|
||||
$(EXTRA)
|
||||
|
||||
#
|
||||
# Clangs
|
||||
# - which clangs (directories in clang/) to compile in
|
||||
#
|
||||
GREEKCLANG=heraclitus flowing #thales
|
||||
# (flowing's not a GREEK clang really, but make doesn't care...)
|
||||
|
||||
#
|
||||
# Architectures
|
||||
# - which architecture-dependent code to compile
|
||||
# (directories in arch/)
|
||||
# ARCH=
|
||||
|
||||
# Default: none - set on command line.
|
||||
|
||||
# Put here the shell argument line to generate the build tag for the
|
||||
# window title
|
||||
BUILD_TAG := $(shell echo "Custom CVS Build `date -u +%Y-%m-%dT%H:%M:%SZ` by `whoami`@`hostname`")
|
||||
|
||||
# NOT COMPILED BY DEFAULT:
|
||||
# sound xml applet
|
||||
|
||||
# It would be nice to use standard paths !
|
||||
#
|
||||
#JAVA_LIB=/usr/local/java/lib
|
||||
JAVA_DOC=/usr/local/java/docs/api
|
||||
|
||||
JAVADOCOPTS=-use -version -author -windowtitle "GZigZag Java API"
|
||||
|
||||
TEMP=/tmp
|
||||
|
||||
ZOB:=$(wildcard *.zob) $(wildcard */*.zob) \
|
||||
$(foreach module,$(MODULES),$(wildcard ../Modules/$(module)/*.zob)) \
|
||||
$(foreach clang,$(GREEKCLANG),$(wildcard clang/$(clang)/*.zob) $(wildcard clang/$(clang)/*/*.zob)) \
|
||||
$(foreach arch,$(ARCH),$(wildcard arch/$(arch)/*.zob))
|
||||
|
||||
ifeq ($(findstring ztp, $(MODULES)),ztp)
|
||||
ZOB += $(wildcard ../Modules/ztp/*/*.zob)
|
||||
endif
|
||||
|
||||
AUTOGENSRC := clang/ZZClangOps.java $(ZOB:.zob=.java) storage/Recs.java
|
||||
AUTOGENERATED := $(AUTOGENSRC)
|
||||
|
||||
%.java: %.zob zob2java.pl ; perl zob2java.pl $< $@
|
||||
|
||||
# Can't add ZZClangOps since javac complains of doubly defined class...
|
||||
# maybe should use uniq?
|
||||
SRC0:=$(wildcard *.java) $(wildcard media/*.java) $(wildcard clang/*.java) \
|
||||
$(wildcard storage/*.java) $(wildcard errors/*.java) \
|
||||
$(wildcard flob/*.java) $(wildcard transform/*.java) \
|
||||
$(wildcard part/*.java) \
|
||||
$(foreach module,$(MODULES),$(wildcard ../Modules/$(module)/*.java)) \
|
||||
$(foreach clang,$(GREEKCLANG),$(wildcard clang/$(clang)/*.java) $(wildcard clang/$(clang)/*/*.java)) \
|
||||
$(foreach arch,$(ARCH),$(wildcard arch/$(arch)/*.java)) \
|
||||
$(AUTOGENSRC)
|
||||
|
||||
ifeq ($(findstring ztp, $(MODULES)),ztp)
|
||||
SRC0 += ../Modules/ztp/*/*.java
|
||||
endif
|
||||
|
||||
SRC:=$(shell echo $(SRC0) | perl -pe 's/\s+/\n/g' - | sort | uniq | tee /tmp/foo)
|
||||
|
||||
jikes := $(shell which jikes)
|
||||
# DEBUG=-g
|
||||
|
||||
ifeq (,$(JAVAC))
|
||||
ifneq (,$(jikes))
|
||||
JAVAC=jikes +P
|
||||
else
|
||||
JAVAC=javac
|
||||
endif
|
||||
endif
|
||||
|
||||
JAVANCSS=/BIG/javancss9.24/javancss
|
||||
|
||||
archcompile = set -e; for d in "$(ARCH)"; do if [ -e arch/$(ARCH)/arch.mk ] ; then $(MAKE) -f arch/$(ARCH)/arch.mk; fi; done
|
||||
archclean = set -e; for d in "$(ARCH)"; do if [ -e arch/$(ARCH)/arch.mk ] ; then $(MAKE) -f arch/$(ARCH)/arch.mk clean; fi; done
|
||||
|
||||
# all must compile everywhere
|
||||
all: $(SRC)
|
||||
@echo "*** NOTE: YOU MAY HAVE TO RUN 'make' MORE THAN ONE TIME"
|
||||
@echo "*** TO GET EVERYTHING TO COMPILE DUE TO DEPENDENCIES"
|
||||
rm -f BuildInfo.java
|
||||
sed 's/@@@@@/$(BUILD_TAG)/' BuildInfo.java.in > BuildInfo.java.new && mv BuildInfo.java.new BuildInfo.java
|
||||
$(JAVAC) -deprecation $(DEBUG) -d . BuildInfo.java
|
||||
$(JAVAC) -deprecation $(DEBUG) -d . $(SRC)
|
||||
$(archcompile)
|
||||
|
||||
# If you want to try out the opengl stuff
|
||||
opengl:
|
||||
@echo "********************************************"
|
||||
@echo "* requires gltt !! *"
|
||||
@echo "* add ../Modules/openGL to LD_LIBRARY_PATH *"
|
||||
@echo "********************************************"
|
||||
(cd ../Modules/openGL; make)
|
||||
$(JAVAC) -deprecation $(DEBUG) -d . ../Modules/openGL/*.java
|
||||
|
||||
doc:: $(SRC)
|
||||
sh ./make-src-tree.sh $(TEMP)/zzsrc
|
||||
rm -Rf doc
|
||||
mkdir doc
|
||||
javadoc $(JAVADOCOPTS) -d doc -sourcepath $(TEMP)/zzsrc org.gzigzag \
|
||||
org.gzigzag.clang \
|
||||
org.gzigzag.module
|
||||
rm -Rf $(TEMP)/zzsrc
|
||||
|
||||
zobdoc:: $(SRC)
|
||||
sh ./make-src-tree.sh $(TEMP)/zzsrc
|
||||
rm -Rf zobdoc
|
||||
mkdir zobdoc
|
||||
javadoc -doclet org.gzigzag.ZobDoc -d zobdoc \
|
||||
-sourcepath $(TEMP)/zzsrc \
|
||||
org.gzigzag org.gzigzag.clang org.gzigzag.module
|
||||
rm -Rf $(TEMP)/zzsrc
|
||||
|
||||
|
||||
# perl -pi.bak -e's|</h1>|"</h1>".`cat Package.html`|e' doc/Package-org.gzigzag.html
|
||||
|
||||
MODULESUPPORT=no
|
||||
JARMODULES=applet mbox joystick test 3d xml extern prez \
|
||||
textcloud daytimedemo hypergenealogy nile notemap zaubertrank mind
|
||||
JARARCHES=
|
||||
JARNAME=gzigzag.jar
|
||||
jar: buildir=$(JARNAME).build
|
||||
jar:
|
||||
cd .. && ./makedist.sh Java/$(buildir)
|
||||
-$(MAKE) -C $(buildir)/Java ARCH="$(JARARCHES)" MODULES="$(JARMODULES)" all
|
||||
-$(MAKE) -C $(buildir)/Java MODULES="$(JARMODULES)" allRCH="$(JARARCHES)"
|
||||
-$(MAKE) -C $(buildir)/Java ARCH="$(JARARCHES)" MODULES="$(JARMODULES)" all
|
||||
$(MAKE) -C $(buildir)/Java ARCH="$(JARARCHES)" MODULES="$(JARMODULES)" all
|
||||
echo 'Main-Class: org.gzigzag.Main' > $(buildir)/Java/manifest
|
||||
set -e ; if [ "$(MODULESUPPORT)" != "no" ] ; \
|
||||
then \
|
||||
(cd $(buildir)/Java && jar -xvf $(MODULESUPPORT) gnu org) ;\
|
||||
fi
|
||||
cd $(buildir)/Java && cp ../LICENSE.lgpl ../LICENSE.xpl .
|
||||
cd $(buildir)/Java && cp ../README README.source
|
||||
cd $(buildir)/Java && jar cvfm $(JARNAME) manifest fi foo xanadu gnu org README README.source LICENSE*
|
||||
mv $(buildir)/Java/$(JARNAME) .
|
||||
rm -rf $(buildir)
|
||||
|
||||
|
||||
mvdoc: doc
|
||||
scp -r doc/* tjl@gzigzag.sourceforge.net:/home/groups/gzigzag/www/javadoc/
|
||||
|
||||
%.java: %.pl
|
||||
perl $< $@
|
||||
|
||||
clean:
|
||||
rm -rf fi foo xanadu org
|
||||
rm -f $(AUTOGENERATED)
|
||||
rm -f BuildInfo.java clang/ZZClangOps.java
|
||||
$(archclean)
|
||||
|
||||
tags: $(SRC)
|
||||
ctags $(SRC)
|
||||
|
||||
CVS2CL=cvs2cl
|
||||
|
||||
ChangeLog::
|
||||
$(MAKE) -C .. ChangeLog
|
||||
|
||||
ncss:: $(SRC)
|
||||
$(JAVANCSS) -function $(SRC) | perl mungencss.pl | \
|
||||
sort -rnk3 -k1 >ncss-ccn
|
||||
sort -rnk2 -k1 <ncss-ccn >ncss-ncss
|
||||
sort -rnk4 -k1 <ncss-ccn >ncss-jvdc
|
||||
# $(JAVANCSS) -all $(SRC) >ncss
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user