3 APPLICATIONNAME
=SpeakGoodChinese2
4 CURRENTWORKINGDIR
=$
(pwd)
8 TARGETNAME
=${APPLICATIONNAME}
11 PRAATSOURCES
=.
/praat_sources
12 if [[ ${1:-Normal} == "MinGW" ]]; then
13 PRAATSOURCES
=..
/..
/praat_mingw
14 if [[ ! -d ${PRAATSOURCES} ]]; then
17 # Temporary cludge to recompile this file without -O2
18 touch ${PRAATSOURCES}/dwsys
/regularExp.cpp
19 elif [[ -d ..
/praat_sources
]]; then
20 PRAATSOURCES
=..
/praat_sources
21 elif [[ -d ..
/..
/demo_praat_sources
]]; then
22 PRAATSOURCES
=..
/..
/demo_praat_sources
23 elif [[ -d ..
/..
/praat_sources
]]; then
24 PRAATSOURCES
=..
/..
/praat_sources
27 if [[ -e ${PRAATSOURCES}/makefile.defs
&& -n `grep -l mingw32 ${PRAATSOURCES}/makefile.defs` ]]; then
29 if [[ ${1:-Normal} == "MinGW" && ${2:-Normal} == "XP" ]]; then
30 TARGETNAME
=${APPLICATIONNAME}XP.exe
32 TARGETNAME
=${APPLICATIONNAME}.exe
36 elif [[ ${UNAME} == "Darwin" ]]; then
37 MAKECMD
="xcodebuild -project praat64.xcodeproj"
39 if [[ `ls -d /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.1*.sdk 2>/dev/null` ]]; then
40 SDK
=/Applications
/Xcode.app
/Contents
/Developer
/Platforms
/MacOSX.platform
/Developer
/SDKs
/MacOSX10.11.sdk
41 MAKECMD
="xcodebuild -project praat64.xcodeproj -sdk ${SDK}"
42 EXECPATH
="./build/Configuration64/Praat.app"
43 ZIPNAME
=${ZIPNAME}_64.app
44 elif [[ -d ${PRAATSOURCES}/praat32.xcodeproj
&& ${1:-Normal} != "OSX64" ]]; then
45 if [[ -d /Applications
/Xcode.app
/Contents
/Developer
/Platforms
/MacOSX.platform
/Developer
/SDKs
]]; then
46 SDK
=`ls -1d /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/*|grep 10.6`
48 SDK
=`ls -1d /Developer/SDKs/*|grep 10.6`
50 MAKECMD
="xcodebuild -project praat32.xcodeproj -sdk ${SDK}"
51 EXECPATH
="./build/Configuration1/Praat.app"
52 ZIPNAME
=${ZIPNAME}_32.app
54 MAKECMD
="xcodebuild -project praat64.xcodeproj"
55 EXECPATH
="./build/Configuration64/Praat.app"
56 ZIPNAME
=${ZIPNAME}_64.app
58 TARGETNAME
=${APPLICATIONNAME}.app
63 if [[ -s ${CURRENTWORKINGDIR}/adaptPraat.
patch ]]; then
64 patch --strip=1 < ${CURRENTWORKINGDIR}/adaptPraat.
patch
66 if [[ -s ${CURRENTWORKINGDIR}/sys_praat_name.
patch ]]; then
67 patch --strip=1 < ${CURRENTWORKINGDIR}/sys_praat_name.
patch
70 # Add demopraatapplication.h
72 rm -f demopraatapplication.h
73 if [[ ${1:-Normal} == "MinGW" && ${2:-Normal} == "XP" ]]; then
74 cat ${CURRENTWORKINGDIR}/${APPLICATIONNAME}expanded.h | sed 's/\(\"build_SHA\$ \= \\\"[^\\]*\)/\1 XP/g' > ${CURRENTWORKINGDIR}/${APPLICATIONNAME}expandedXP.h
75 ln -s ${CURRENTWORKINGDIR}/${APPLICATIONNAME}expandedXP.h .
/demopraatapplication.h
77 ln -s ${CURRENTWORKINGDIR}/${APPLICATIONNAME}expanded.h .
/demopraatapplication.h
79 # Create a file containing the Build number
80 grep 'build_SHA$ = "' ${CURRENTWORKINGDIR}/${APPLICATIONNAME}expanded.praat | grep ':' | perl -ane '/\"([A-F0-9]+)\s+([\d\-]+)(.*)\"/;print "<i>$1</i> <b>$2</b>$3\n";' > ${CURRENTWORKINGDIR}/Build_SHA.html
82 # Get the manual into the tutorials manual
83 cp ..
/fon
/manual_tutorials.cpp ..
/fon
/manual_tutorials.cppORIGINAL
84 NUMLINES
=$
(grep -n '}' ..
/fon
/manual_tutorials.cpp|
tail -1|
sed 's/\:.*//g'|perl
-ane 'print $_-1;')
85 TAILLINES
=$
(wc -l ..
/fon
/manual_tutorials.cpp|perl
-ane "print \$_ - ${NUMLINES}")
86 head -n ${NUMLINES} ..
/fon
/manual_tutorials.cppORIGINAL
> ..
/fon
/manual_tutorials.cpp
87 cat ${CURRENTWORKINGDIR}/manual_
${APPLICATIONNAME}.cpp
>> ..
/fon
/manual_tutorials.cpp
88 tail -${TAILLINES} ..
/fon
/manual_tutorials.cppORIGINAL
>> ..
/fon
/manual_tutorials.cpp
90 # Get the icons into the main folder
91 mv ..
/main
/Praat.icns ..
/main
/PraatBACKUP.icns
92 mv ..
/main
/praat_win.ico ..
/main
/praat_winBACKUP.ico
93 cp ${CURRENTWORKINGDIR}/sgc.icns ..
/main
/Praat.icns
94 cp ${CURRENTWORKINGDIR}/sgc_win.ico ..
/main
/praat_win.ico
99 if [[ -s ${CURRENTWORKINGDIR}/main_Praat.
patch ]]; then
100 patch main_Praat.cpp
${CURRENTWORKINGDIR}/main_Praat.
patch
104 if [[ ${UNAME} == "Darwin" ]]; then
105 ${MAKECMD} OTHER_CFLAGS
='$OTHER_CFLAGS -DDEMOAPP' 2>&1
111 if [[ -s ${CURRENTWORKINGDIR}/adaptPraat.
patch ]]; then
112 patch -R --strip=1 < ${CURRENTWORKINGDIR}/adaptPraat.
patch
114 if [[ -s ${CURRENTWORKINGDIR}/sys_praat_name.
patch ]]; then
115 patch -R --strip=1 < ${CURRENTWORKINGDIR}/sys_praat_name.
patch
119 rm -f demopraatapplication.h ..
/fon
/manual_tutorials.cpp Praat.icns praat_win.ico
120 mv PraatBACKUP.icns Praat.icns
121 mv praat_winBACKUP.ico praat_win.ico
122 mv ..
/fon
/manual_tutorials.cppORIGINAL ..
/fon
/manual_tutorials.cpp
123 if [[ -s ${CURRENTWORKINGDIR}/main_Praat.
patch ]]; then
124 patch -R main_Praat.cpp
${CURRENTWORKINGDIR}/main_Praat.
patch
128 # Move result to correct directory
129 if [[ -d ${CURRENTWORKINGDIR}/${TARGETNAME} ]]; then
130 rm -r ${CURRENTWORKINGDIR}/${TARGETNAME}
132 mv ${EXECPATH} ${CURRENTWORKINGDIR}/${TARGETNAME}
135 cd ${CURRENTWORKINGDIR}
136 zip -r ${ZIPNAME}.
zip ${TARGETNAME}
139 if [[ -n `which md5` ]] ; then
140 if [[ -f ${CURRENTWORKINGDIR}/${TARGETNAME} ]]; then
141 cd ${CURRENTWORKINGDIR}/; md5 ${TARGETNAME} > ${TARGETNAME}.md5
; cd -
143 cd ${CURRENTWORKINGDIR}/; md5 ${ZIPNAME}.zip > ${ZIPNAME}.
zip.md5
; cd -
145 if [[ -n `which md5sum` ]] ; then
146 if [[ -f ${CURRENTWORKINGDIR}/${TARGETNAME} ]]; then
147 cd ${CURRENTWORKINGDIR}/; md5sum ${TARGETNAME} > ${TARGETNAME}.md5
; cd -
149 cd ${CURRENTWORKINGDIR}/; md5sum ${ZIPNAME}.zip > ${ZIPNAME}.
zip.md5
; cd -
153 if [[ -n `which shasum` ]] ; then
154 if [[ -f ${CURRENTWORKINGDIR}/${TARGETNAME} ]]; then
155 cd ${CURRENTWORKINGDIR}/; shasum -p ${TARGETNAME} > ${TARGETNAME}.sha1
; cd -
157 cd ${CURRENTWORKINGDIR}/; shasum -p ${ZIPNAME}.zip > ${ZIPNAME}.
zip.sha1
; cd -