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