menu: added new Keywords tag to .desktop files
[barry.git] / buildgen.sh
blob0344ad6f2153d86ee03a74f2482d3bec3c4f2ac7
1 #!/bin/sh
3 libtoolit() {
4 # Different name on the Mac
5 libtoolize --force --copy || glibtoolize --force --copy
8 doconf() {
9 aclocal -I $1 && \
10 autoheader && \
11 automake --add-missing --copy --foreign && \
12 autoconf
15 cleangettext() {
16 rm -f ABOUT-NLS \
17 m4/codeset.m4 \
18 m4/gettext.m4 \
19 m4/glibc2.m4 \
20 m4/glibc21.m4 \
21 m4/iconv.m4 \
22 m4/intdiv0.m4 \
23 m4/intl.m4 \
24 m4/intldir.m4 \
25 m4/intlmacosx.m4 \
26 m4/intmax.m4 \
27 m4/inttypes-pri.m4 \
28 m4/inttypes_h.m4 \
29 m4/lcmessage.m4 \
30 m4/lib-ld.m4 \
31 m4/lib-link.m4 \
32 m4/lib-prefix.m4 \
33 m4/lock.m4 \
34 m4/longlong.m4 \
35 m4/nls.m4 \
36 m4/po.m4 \
37 m4/printf-posix.m4 \
38 m4/progtest.m4 \
39 m4/size_max.m4 \
40 m4/stdint_h.m4 \
41 m4/uintmax_t.m4 \
42 m4/visibility.m4 \
43 m4/wchar_t.m4 \
44 m4/wint_t.m4 \
45 m4/xsize.m4 \
46 m4/libtool.m4 \
47 m4/ltoptions.m4 \
48 m4/ltsugar.m4 \
49 m4/ltversion.m4 \
50 m4/lt~obsolete.m4 \
51 m4/fcntl-o.m4 \
52 m4/threadlib.m4 \
53 po/Makefile.in.in \
54 po/Makevars.template \
55 po/fr.gmo \
56 po/es.gmo \
57 po/stamp-po \
58 po-osyncwrap/Makefile.in.in \
59 po-osyncwrap/Makevars.template \
60 po-osyncwrap/fr.gmo \
61 po-osyncwrap/es.gmo \
62 po-osyncwrap/stamp-po
66 # Generates the build system.
69 if [ "$1" = "cleanall" ] ; then
70 make distclean
71 (cd gui && make distclean)
72 (cd desktop && make distclean)
73 (cd opensync-plugin && make distclean)
74 (cd opensync-plugin-0.4x && make distclean)
75 ./buildgen.sh clean
76 (cd gui && ./buildgen.sh clean)
77 (cd desktop && ./buildgen.sh clean)
78 (cd opensync-plugin && ./buildgen.sh clean)
79 (cd opensync-plugin-0.4x && ./buildgen.sh clean)
80 cleangettext
81 (cd gui && cleangettext && rmdir m4)
82 (cd desktop && cleangettext && rmdir m4)
83 (cd opensync-plugin && cleangettext)
84 (cd opensync-plugin-0.4x && cleangettext)
85 elif [ "$1" = "clean" ] ; then
86 rm -rf autom4te.cache
87 rm -f Makefile.in aclocal.m4 config.guess config.h.in config.sub \
88 configure depcomp install-sh ltmain.sh missing \
89 src/Makefile.in tools/Makefile.in examples/Makefile.in \
90 man/Makefile.in test/Makefile.in INSTALL config.h.in~ compile
91 # clean up Debian build trails
92 rm -rf debian/barry
93 rm -f build-arch-stamp build-indep-stamp configure-stamp \
94 debian/barry.substvars debian/files \
95 tools/bcharge
96 # clean up ctags trails
97 rm -f src/tags tools/tags examples/tags \
98 gui/src/tags \
99 desktop/src/tags \
100 opensync-plugin/src/tags \
101 opensync-plugin-0.4x/src/tags
102 elif [ "$1" = "ctags" ] ; then
103 echo "Building ctags..."
104 (cd src && ctags -R)
105 (cd tools && ctags -R)
106 (cd examples && ctags -R)
107 (cd gui/src && ctags -R)
108 (cd desktop/src && ctags -R)
109 if [ "$2" = "0.22" ] ; then
110 (cd opensync-plugin/src && ctags -R)
112 if [ "$2" = "0.4x" ] ; then
113 (cd opensync-plugin-0.4x/src && ctags -R)
115 # and one with everything
116 ctags -R -f ~/tags-barry --tag-relative=yes
118 if [ "$2" = "0.22" ] ; then
119 # add opensync library as well (yes, I know this only works for my
120 # setup... sorry) :-)
121 #OS_DIR=~/software/opensync/svn
122 OS_DIR=~/software/opensync/0.22
123 if [ -d $OS_DIR ] ; then
124 echo "Detected 0.22 opensync source tree, building ctags on it..."
125 (cd $OS_DIR && ctags -R -a -f ~/tags-barry --tag-relative=yes)
129 if [ "$2" = "0.4x" ] ; then
130 OS_DIR=~/software/opensync/git/opensync
131 if [ -d $OS_DIR ] ; then
132 echo "Detected 0.4x opensync source tree, building ctags on it..."
133 (cd $OS_DIR && ctags -R -a -f ~/tags-barry --tag-relative=yes)
134 (cd ~/software/opensync/git/osynctool && ctags -R -a -f ~/tags-barry --tag-relative=yes)
137 else
138 #autoreconf -if --include=config
139 #autoreconf -ifv --include=config
141 # Autogenerate the gettext PO support files
142 # All submodules have PO support files now, so no difference
143 autopoint
144 (cd gui && autopoint)
145 (cd desktop && autopoint)
146 (cd opensync-plugin && autopoint)
147 (cd opensync-plugin-0.4x && autopoint)
149 # If we let autoreconf do this, it will run libtoolize after
150 # creating some or all of the configure files. For example,
151 # it might copy files into ../m4 again while processing the
152 # opensync-plugin/ directory, making those files newer than
153 # the gui/configure file. This will cause configure to
154 # be regenerated (incorrectly) during the make step on some
155 # systems (Fedora 11).
157 # So... we do the libtool stuff all at once at the beginning,
158 # then the rest.
159 libtoolit m4
160 (cd gui && libtoolit m4)
161 (cd desktop && libtoolit m4)
162 (cd opensync-plugin && libtoolit m4)
163 (cd opensync-plugin-0.4x && libtoolit m4)
165 # Now for aclocal, autoheader, automake, and autoconf
166 doconf m4
167 (cd gui && doconf m4)
168 (cd desktop && doconf m4)
169 (cd opensync-plugin && doconf m4)
170 (cd opensync-plugin-0.4x && doconf m4)