[29471] | 1 | systemlib := /usr/lib
|
---|
| 2 | java := $(systemlib)/jvm/default-java
|
---|
| 3 | systembin := /usr/bin
|
---|
| 4 | gssrv := /srv/gsdl
|
---|
| 5 | tomcatlib := /usr/share/java/tomcat7
|
---|
| 6 | tomcatconf := /etc/tomcat7/Catalina/localhost
|
---|
| 7 | gstools := /opt/greenstone
|
---|
| 8 |
|
---|
| 9 | all: cleanpkg main tools demo
|
---|
| 10 |
|
---|
| 11 | svn:
|
---|
| 12 | @echo "Getting latest source"
|
---|
| 13 | svn co http://svn.greenstone.org/main/trunk/greenstone3 svn
|
---|
| 14 |
|
---|
| 15 | src: svn
|
---|
| 16 | $(eval svnver := $(shell cd svn && svnversion -c | grep -o '[[:digit:]:]*'))
|
---|
| 17 | $(eval srcver := $(shell if test -d src; then cd src && svnversion -c | grep -o '[[:digit:]:]*'; else echo "nope"; fi))
|
---|
| 18 | if test $(svnver) != $(srcver); then \
|
---|
| 19 | echo "Making copy of source" ; \
|
---|
| 20 | rm -rf src ; \
|
---|
| 21 | cp -rT svn src ; \
|
---|
| 22 | fi
|
---|
| 23 |
|
---|
| 24 | cleanpkg:
|
---|
| 25 | @echo Cleaning pkg directory
|
---|
| 26 | rm -rf pkg
|
---|
| 27 |
|
---|
| 28 | clean: cleanpkg
|
---|
| 29 | @echo "Cleaning src directory"
|
---|
| 30 | rm -rf src
|
---|
| 31 |
|
---|
| 32 | cleanall: clean
|
---|
| 33 | @echo "Cleaning svn directory"
|
---|
| 34 | rm -rf svn
|
---|
| 35 |
|
---|
| 36 | prepare: src
|
---|
| 37 | cp -L *.properties *.patch src/
|
---|
| 38 | cd src ; \
|
---|
| 39 | export JAVA_HOME=$(java) ; \
|
---|
| 40 | yes | ant prepare
|
---|
| 41 | patch -d src/ -p0 -N -i gs2build.patch || :
|
---|
| 42 | cd src/gs2build/build-src ; \
|
---|
| 43 | autoconf
|
---|
| 44 | rm -rf src/packages/*.zip
|
---|
| 45 | rm -rf src/packages/axis/docs
|
---|
| 46 | rm -rf src/gs2build/build-src/packages
|
---|
| 47 |
|
---|
| 48 | build: prepare
|
---|
| 49 | cd src ; \
|
---|
| 50 | export JAVA_HOME=$(java) ; \
|
---|
| 51 | ant install
|
---|
| 52 | mv src/lib/jni/*.jar src/web/WEB-INF/lib/
|
---|
| 53 | # patch for gs2build tempdir
|
---|
| 54 | patch -d src/ -p0 -N -i perl-util.patch || :
|
---|
| 55 | # delete windows/mac stuff
|
---|
| 56 | find src/ -type d \( -iname "win32" -o -iname "windows" -o -iname "winutil" -o -iname "darwin" \) -exec rm -rf {} \; 2> /dev/null || :
|
---|
| 57 | find src/ \( -iname "*.dll" -o -iname "*.exe" \) -exec rm -rf {} \; || :
|
---|
| 58 |
|
---|
| 59 | main: build
|
---|
| 60 | $(eval pkgdir := pkg/main)
|
---|
| 61 | install -d $(pkgdir)/$(gssrv) $(pkgdir)/$(systemlib) $(pkgdir)/$(tomcatlib)
|
---|
| 62 | install -dm775 $(pkgdir)/$(tomcatlib)
|
---|
| 63 | install -Dm755 src/lib/jni/*.so $(pkgdir)/$(systemlib)
|
---|
| 64 | rsync -av --exclude sites/localsite/collect/ --exclude .svn src/web/ $(pkgdir)/$(gssrv)/
|
---|
| 65 | install -Dm644 greenstone3.xml $(pkgdir)/$(tomcatconf)/greenstone3.xml
|
---|
| 66 | mv $(pkgdir)/$(gssrv)/WEB-INF/lib/derby.jar $(pkgdir)/$(tomcatlib)
|
---|
| 67 |
|
---|
| 68 | tools: build
|
---|
| 69 | $(eval pkgdir := pkg/tools)
|
---|
| 70 | install -d $(pkgdir)/$(gstools)
|
---|
| 71 | rsync -av --exclude build-src --exclude common-src --exclude collect/demo --exclude .svn src/gs2build $(pkgdir)/$(gstools)/
|
---|
| 72 | rsync -av --exclude build-src --exclude common-src --exclude collect/demo --exclude .svn src/bin $(pkgdir)/$(gstools)/
|
---|
| 73 | install -Dm755 greenstone $(pkgdir)/$(systembin)/greenstone
|
---|
| 74 |
|
---|
| 75 | demo: build
|
---|
| 76 | $(eval pkgdir := pkg/demo)
|
---|
| 77 | @echo "Building demo collections"
|
---|
| 78 | $(shell find sites/localsite/collect/ -mindepth 1 -maxdepth 1 -not -name ".*" -execdir bash -c 'col="$(basename $1)"; import.pl -removeold -site localsite "$$col"; buildcol.pl -removeold -site localsite "$$col"; mv "$$col/building" "$$col/index"' -- {} \;)
|
---|
| 79 | install -d $(pkgdir)/$(gssrv)/sites/localsite
|
---|
| 80 | rsync -av --exclude .svn src/web/sites/localsite/collect $(pkgdir)/$(gssrv)/sites/localsite/
|
---|
| 81 |
|
---|
| 82 | .PHONY: svn cleanpkg clean cleanall prepare build main tools demo
|
---|