Issue 15: Reorganize source files
[remote/remote-gui.git] / Makefile
blob3ef35e71f3e4e0802f54ce82b144c6e542895dab
1 ################################################################################
2 # Build section
3 ################################################################################
5 JAVAC = javac
6 JAVA = java
7 JAR = jar
8 JAVADOC = javadoc
9 SCP = scp
10 CTAGS = ctags
12 GUILIBDIR = lib
13 WSLIBDIR = ../remote-ws/lib
14 BUILDDIR = build
15 CLASSDIR = $(BUILDDIR)/classes
16 BOOTDIR = $(BUILDDIR)/boot
17 DOCDIR = $(BUILDDIR)/doc
18 MAINJAR = $(BOOTDIR)/main/main.jar
19 MAINSRC = $(shell find src/ -name "*.java")
20 BOOTJAR = boot/one-jar-boot-0.95.jar
21 BOOTMANIFEST = boot/manifest.txt
22 REMOTEJAR = Re-Mote.jar
24 WSJARS = activation.jar axis.jar commons-discovery-0.2.jar \
25 commons-logging-1.0.4.jar jaxrpc.jar mail-1.4.jar \
26 remote-ws-client.jar saaj.jar wsdl4j-1.5.1.jar
28 WSLIBDIRJARS = $(addprefix $(WSLIBDIR)/,$(WSJARS))
29 GUICLASSPATH = $(shell find $(GUILIBDIR) -name "*.jar" | tr '\n' ':')
30 WSCLASSPATH = $(shell find $(WSLIBDIR) -name "*.jar" | tr '\n' ':')
31 CLASSPATH = $(WSCLASSPATH):$(GUICLASSPATH):$(MAINJAR):.
33 export CLASSPATH
35 all: $(REMOTEJAR)
37 clean:
38 $(RM) -r $(BUILDDIR) $(REMOTEJAR) tags
40 tags:
41 $(CTAGS) $(MAINSRC)
43 strip-space:
44 perl -p -i -e 's/[ \t]*$$//' $(MAINSRC)
46 doc:
47 $(JAVADOC) -d $(DOCDIR) $(MAINSRC)
49 test-build: $(MAINJAR)
50 $(JAVA) remote.gui.ReMote
52 test-jar: $(REMOTEJAR)
53 $(JAVA) -jar $(REMOTEJAR)
55 $(REMOTEJAR): $(MAINJAR) $(WSLIBDIRJARS)
56 @mkdir -p $(BOOTDIR)/lib
57 cd $(BOOTDIR) && $(JAR) xf $(PWD)/$(BOOTJAR)
58 cp $(WSLIBDIRJARS) $(BOOTDIR)/lib
59 $(JAR) cmf $(BOOTMANIFEST) $@ -C $(BOOTDIR) . && \
60 $(JAR) uf $@ icons config lib || \
61 $(RM) $@
63 $(MAINJAR): $(MAINSRC)
64 @mkdir -p $(CLASSDIR) $(@D)
65 $(JAVAC) -d $(CLASSDIR) $(MAINSRC)
66 echo "Main-Class: remote.gui.ReMote" > $(@D)/manifest.txt
67 $(JAR) cmf $(@D)/manifest.txt $@ -C $(CLASSDIR) .