Clean up and improve case code.
[pspp] / Smake
1 # -*- makefile -*-
2
3 # Adjust these to reflect where you've installed gnulib.
4 GNULIB = ../gnulib
5 GNULIB_TOOL = $(GNULIB)/gnulib-tool
6
7 GNULIB_MODULES = \
8         alloca \
9         alloca-opt \
10         assert \
11         byteswap \
12         c-ctype \
13         c-strtod \
14         exit \
15         full-read \
16         full-write \
17         gethostname \
18         getline \
19         getlogin_r \
20         getopt \
21         gettext \
22         intprops \
23         inttostr \
24         linebreak \
25         localcharset \
26         memcasecmp \
27         memchr \
28         memcmp \
29         memmem \
30         memmove \
31         mempcpy \
32         memset \
33         progname \
34         readlink \
35         snprintf \
36         stat-macros \
37         stdarg \
38         stdbool \
39         stdint \
40         stpcpy \
41         strcase \
42         strcspn \
43         strerror \
44         strftime \
45         strsep \
46         strstr \
47         strtod \
48         strtok_r \
49         strtol \
50         strtoul \
51         unistd \
52         unlocked-io \
53         vsnprintf \
54         xalloc \
55         xalloc-die \
56         xreadlink \
57         xsize \
58         xstrndup \
59         xvasprintf
60
61 all: po/POTFILES.in
62         test -d m4 || mkdir m4
63         echo '*' > m4/.cvsignore
64         touch m4/Makefile.am
65         $(GNULIB_TOOL) --import --no-changelog --m4-base=gl/m4 \
66                 --source-base=gl --lib=libgl --tests-base=tests \
67                 --doc-base=gl/doc --import $(GNULIB_MODULES)
68         echo '*' > gl/.cvsignore
69         echo '*' > gl/m4/.cvsignore
70         test -d intl || mkdir intl
71         echo '*' > intl/.cvsignore
72         libtoolize --force --automake
73         autopoint --force
74         aclocal -I m4 -I gl/m4
75         autoconf
76         autoheader
77         automake --add-missing --copy --no-force
78
79 gettextize:
80         test -d m4 || mkdir m4
81         touch m4/Makefile.am
82         gettextize -f -c --intl --no-changelog
83
84 po/POTFILES.in:
85         for f in `find src \( -name \*.[qc] -o -name \*.glade \) ! -name .\* -print` ; do \
86                 if test $$f = src/libpspp/version.c; then continue; fi;   \
87                 if test -e `dirname $$f`/`basename $$f .c`.q ; then continue; fi; \
88                 echo $$f ; \
89         done | sort | uniq > $@.tmp
90         if test ! -e $@ || ! cmp -s $@.tmp $@; then mv $@.tmp $@; fi
91         rm -f $@.tmp
92
93 check: all
94         rm -rf _check
95         mkdir _check
96         cd _check && ../configure $(CONFIGUREFLAGS)
97         cd _check && make distcheck
98         rm -rf _check
99
100 _build: all
101         test -d _build || mkdir _build
102         cd _build && ../configure $(CONFIGUREFLAGS)
103
104 _debug: all
105         test -d _debug || mkdir _debug
106         cd _debug && ../configure $(CONFIGUREFLAGS) --enable-debug
107
108 PO_FILES = po/ChangeLog po/Makefile po/Makefile.in po/Makefile.in.in    \
109 po/POTFILES po/POTFILES.in po/Rules-quot po/boldquot.sed                \
110 po/cat-id-tbl.c po/en@boldquot.header po/en@quot.header                 \
111 po/insert-header.sin po/quot.sed po/remove-potcdate.sin po/stamp-po     \
112 po/Makevars.template po/pspp.pot
113
114 clean:
115         rm -f config.sub config.guess config.rpath
116         rm -f ABOUT-NLS
117         rm -fr autom4te.cache
118         rm -f aclocal.m4
119         rm -f missing mkinstalldirs
120         rm -f install-sh
121         rm -f configure Makefile 
122         rm -f depcomp
123         rm -rf intl gl
124         rm -f m4/*.m4
125         rm -f $(PO_FILES) po/*.gmo 
126         rm -f mdate-sh texinfo.tex
127         rm -f doc/stamp-vti
128         rm -f config.h.in~
129         find . -name Makefile.in -exec rm -f {} \; 
130         rm -f compile
131         rm -f ltmain.sh
132
133 .PHONY: all gettextize potfiles clean