08aad6d12148fc9706b5840cf438bb7a2d39365b
[Evergreen.git] / Open-ILS / xul / staff_client / Makefile
1 # ILS/Open-ILS/xul/staff_client/Makefile
2
3 export STAFF_CLIENT_BUILD_ID = $$(/bin/date +"%Y%m%d.%H%M%S")
4
5 all: build 
6         @echo
7         @echo
8
9 build: remove_symlinks build_dir generated open-ils custom stamp add_symlinks 
10         @echo
11         @echo 
12         @echo To test the staff client:
13         @echo "  cd build/"
14         @echo "  xulrunner application.ini"
15
16 remove_symlinks:
17         @echo
18         @echo Removing convenience symlinks from server/ and chrome/ before copying to build/
19         find server/ -type l -exec rm -f {} \;
20         find chrome/ -type l -exec rm -f {} \;
21
22 add_symlinks:
23         @echo
24         @echo Adding convenience symlinks back into server/ and chrome/
25         ln -s ../chrome/content/util server/util
26         ln -s ../../chrome/content/main/constants.js server/main/constants.js
27         ln -s ../../chrome/content/main/lang.js server/main/lang.js
28         ln -s ../../chrome/content/OpenILS/data.js server/OpenILS/data.js
29         (cd build/chrome/content/OpenSRF/; for x in *; do ln -s  ../../../build/chrome/content/OpenSRF/$$x ../../../../chrome/content/OpenSRF/$$x; done)
30         (cd build/chrome/content/OpenILS/util/; for x in *; do if [ $$x != 'fmall.js' ]; then ln -s  ../../../../build/chrome/content/OpenILS/util/$$x ../../../../../chrome/content/OpenILS/util/$$x; fi ; done)
31         (cd build/chrome/content/legacy/; for x in [a-z]*; do ln -s  ../../../build/chrome/content/legacy/$$x ../../../../chrome/content/legacy/$$x; done)
32         (cd build/chrome/locale/en-US/; for x in *; do ln -s  ../../../build/chrome/locale/en-US/$$x ../../../../chrome/locale/en-US/$$x; done)
33
34 build_dir:
35         @echo
36         @echo '*********************************************************  Creating and populating build/ '
37         mkdir -p build/
38         cp -R chrome build/
39         cp -R server build/
40         cp -R defaults build/
41         cp -R components build/
42         cp application.ini build/
43         cp -R build/chrome/content/util/ build/server/
44         cp build/chrome/content/main/constants.js build/server/main/constants.js
45         cp build/chrome/content/OpenILS/data.js build/server/OpenILS/data.js
46         external/prune_dirs.sh build/
47
48 stamp: 
49         @echo
50         @if [ -n "${STAFF_CLIENT_BUILD_ID}" ]; then ( echo "Stamping with Build ID: ${STAFF_CLIENT_BUILD_ID}" ; echo ${STAFF_CLIENT_BUILD_ID} > build/BUILD_ID ) ; fi
51         @if [ -z "${STAFF_CLIENT_BUILD_ID}" ]; then ( echo "No Build ID for versioning" ; echo "none" > build/BUILD_ID ) ; fi
52         @if [ -n "${STAFF_CLIENT_BUILD_ID}" ]; then sed -i s/^Version=.\*/Version=${STAFF_CLIENT_BUILD_ID}/ build/application.ini ; fi
53         @if [ -n "${STAFF_CLIENT_BUILD_ID}" ]; then sed -i s/^BuildID=.\*/BuildID=${STAFF_CLIENT_BUILD_ID}/ build/application.ini ; fi
54         @if [ -n "${STAFF_CLIENT_BUILD_ID}" ]; then find build/ -name '*.xul' -exec sed -i s/xul\\\/server/xul\\\/${STAFF_CLIENT_BUILD_ID}\\\/server/g {} \; ; fi
55         @if [ -n "${STAFF_CLIENT_BUILD_ID}" ]; then find build/ -name '*.js' -exec sed -i s/xul\\\/server/xul\\\/${STAFF_CLIENT_BUILD_ID}\\\/server/g {} \; ; fi
56
57 generated:
58         @echo
59         @echo '********************************************************* Grabbing lang.dtd from the OPAC code '
60         cp ../../../Open-ILS/web/opac/locale/en-US/lang.dtd build/chrome/locale/en-US/
61         external/dtd2js.pl build/chrome/locale/en-US/lang.dtd > build/chrome/content/main/lang.js
62
63 open-ils:
64         @echo
65         @echo '********************************************************* Grabbing more OPAC code and legacy code '
66         cp ../../../OpenSRF/src/javascript/*.js build/chrome/content/OpenSRF/
67         cp ../../../Open-ILS/web/opac/common/js/*.js build/chrome/content/OpenILS/util/
68         cp ../../../Evergreen/staff_client/chrome/content/evergreen/cat/marc* build/chrome/content/legacy/
69         cp ../../../Evergreen/staff_client/chrome/content/evergreen/cat/browse* build/chrome/content/legacy/
70         cp ../../../Evergreen/staff_client/chrome/locale/en-US/evergreen/cat.dtd build/chrome/locale/en-US/
71         find build/chrome/content/legacy/ -type f -name '*.*' -exec sed -i s/evergreen/open_ils_staff_client/g {} \;
72
73 custom:
74         @echo
75         @echo
76         @echo '********************************************************* Placeholder for debugging tweaks '
77         #(cd chrome/content/OpenILS/util; cp RemoteRequest.js~ RemoteRequest.js)
78
79 clean: remove_symlinks
80         @echo
81         @echo '********************************************************* Removing build/ '
82         rm -rf build/