ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/server/Makefile
Revision: 1.25
Committed: Fri Jun 7 16:12:47 2002 UTC (21 years, 11 months ago) by tdb
Branch: MAIN
Changes since 1.24: +68 -32 lines
Log Message:
My first bash at a new-style Makefile setup. This one generates proper
distfiles in subdirectories with version numbers, etc. I'll port it to the
other parts of i-scream when I've tested it a bit more.
This will also lead the way for me to generate daily snapshots.

File Contents

# Content
1 # Makefile for server
2 # $Id: Makefile,v 1.24 2002/02/09 17:04:33 tdb Exp $
3
4 include Config.inc
5
6 all : dist
7
8 ### Code Building
9
10 genidl :
11 cd idl && $(MAKE) idl
12
13 buildidl : genidl
14 cd idl && $(MAKE) build
15
16 build : buildidl
17 cd uk/org/iscream/cms/server && $(MAKE) all
18 cd $(BUILD) && $(MAKE) package
19
20 ### Source, Doc, & Changelog
21
22 src :
23 if test ! -d "$(SRCDIR)"; then mkdir -p $(SRCDIR); fi
24 echo "CVS" > TAR_EXCLUDE_TMP
25 echo ".#*" >> TAR_EXCLUDE_TMP
26 tar -cf - -X TAR_EXCLUDE_TMP $(SRCFILES) | ( cd $(SRCDIR) && tar -xf - )
27 rm -f TAR_EXCLUDE_TMP
28
29 javadoc : genidl
30 if test ! -d "$(DOCDIR)"; then mkdir -p $(DOCDIR); fi
31 if test ! -d "$(DOCTMPDIR)"; then mkdir -p $(DOCTMPDIR); fi
32 cp -R $(SOURCEROOT)/uk $(DOCTMPDIR)
33 cp -R $(SOURCEROOT)/idl/uk $(DOCTMPDIR)
34 $(JAVADOCBIN) -d $(DOCDIR) -sourcepath $(DOCTMPDIR) -classpath $(JCCLASSPATH) -windowtitle $(JDTITLE) -author -version -private -use -header $(JDHEADER) -bottom $(JDBOTTOM) -link $(JDJAPI) -link $(JDPBAPI) $(PKGLIST)
35 rm -Rf $(DOCTMPDIR)
36
37 changelog :
38 $(CVS2CL) $(CVS2CLFLAGS) > $(CHANGELOG)
39
40 ### Dist Making
41
42 dist : build src javadoc changelog
43 cd $(BUILD) && $(MAKE) dist ver=$(VERSION) dest=$(DISTDEST)
44
45 dist-bin : build changelog
46 cd $(BUILD) && $(MAKE) dist-bin ver=$(VERSION) dest=$(DISTDEST)
47
48 ### CVS Magic :)
49
50 cvs-dist :
51 $(CVS) -d $(CVSROOT) export -r $(CVSTAG) -d $(CVSBUILDTEMP) $(CVSSERVERMODULE)
52 cd $(CVSBUILDTEMP) && ./configure
53 cd $(CVSBUILDTEMP) && $(MAKE) dist ver=$(VERSION) dest=$(DISTDEST)
54
55 cvs-dist-bin :
56 $(CVS) -d $(CVSROOT) export -r $(CVSTAG) -d $(CVSBUILDTEMP) $(CVSSERVERMODULE)
57 cd $(CVSBUILDTEMP) && ./configure
58 cd $(CVSBUILDTEMP) && $(MAKE) dist-bin ver=$(VERSION) dest=$(DISTDEST)
59
60 ### Code Cleaning
61
62 clean :
63 cd idl && $(MAKE) clean
64 cd $(BUILD) && $(MAKE) clean ver=$(VERSION)
65 cd uk/org/iscream/cms/server && $(MAKE) clean
66 rm -Rf $(BUILDCHECK) $(IDLCHECK)
67 rm -Rf $(CVSBUILDTEMP)
68 rm -Rf $(DOCDIR) $(DOCTMPDIR)
69 rm -Rf $(SRCDIR)
70
71 distclean : clean
72 cd $(BUILD) && rm -f $(CLPATH)
73 rm -f Config.inc
74
75 ### Util Package
76
77 buildutil : clean
78 cd uk/org/iscream/cms/server/util && $(MAKE) all
79 cd $(BUILD) && $(MAKE) packageutil
80
81 ### Database
82
83 createtable :
84 cd db && $(MAKE) create
85
86 droptable :
87 cd db && $(MAKE) drop
88
89 ### Install
90
91 install : build
92 @echo "-------------------------------------------------------"
93 @echo "Installing to $(INSTALL)"
94 @echo " copying $(PACKAGE) to $(INSTALL)"
95 mkdir -p $(INSTALL)
96 cp $(BUILD)/$(PACKAGE) $(INSTALL)
97 @echo " copying libs to $(INSTALL)/lib"
98 mkdir -p $(INSTALL)/lib
99 cp $(LIBDIR)/*.jar $(INSTALL)/lib
100 @echo " copying etc to $(INSTALL)/etc"
101 mkdir -p $(INSTALL)/etc
102 cp $(BUILD)/etc/default.properties $(INSTALL)/etc
103 cp $(BUILD)/etc/*.conf $(INSTALL)/etc
104 @echo " copying scripts to $(INSTALL)"
105 cp $(BUILD)/run.sh $(INSTALL)
106 cp $(BUILD)/run.bat $(INSTALL)
107 @echo "Completed install to $(INSTALL)"
108 @echo "-------------------------------------------------------"
109
110 ### Other
111
112 run : build
113 cd $(BUILD) && ./run.sh
114
115 ### Global Include
116
117 include $(MKINC)