Add comment that ll_sort is stable,
[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         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         autopoint --force
68         aclocal -I m4 -I gl/m4
69         autoconf
70         autoheader
71         automake --add-missing --copy --no-force
72
73 gettextize:
74         test -d m4 || mkdir m4
75         touch m4/Makefile.am
76         gettextize -f -c --intl --no-changelog
77
78 po/POTFILES.in:
79         for f in `find src \( -name \*.[qc] -o -name \*.glade \) ! -name .\* -print` ; do \
80                 if test $$f = src/libpspp/version.c; then continue; fi;   \
81                 if test -e `dirname $$f`/`basename $$f .c`.q ; then continue; fi; \
82                 echo $$f ; \
83         done | sort | uniq > $@.tmp
84         if test ! -e $@ || ! cmp -s $@.tmp $@; then mv $@.tmp $@; fi
85         rm -f $@.tmp
86
87 check: all
88         rm -rf _check
89         mkdir _check
90         cd _check && ../configure $(CONFIGUREFLAGS)
91         cd _check && make distcheck
92         rm -rf _check
93
94 _build: all
95         test -d _build || mkdir _build
96         cd _build && ../configure $(CONFIGUREFLAGS)
97
98 PO_FILES = po/ChangeLog po/Makefile po/Makefile.in po/Makefile.in.in    \
99 po/POTFILES po/POTFILES.in po/Rules-quot po/boldquot.sed                \
100 po/cat-id-tbl.c po/en@boldquot.header po/en@quot.header                 \
101 po/insert-header.sin po/quot.sed po/remove-potcdate.sin po/stamp-po     \
102 po/Makevars.template po/pspp.pot
103
104 clean:
105         rm -f config.sub config.guess config.rpath
106         rm -f ABOUT-NLS
107         rm -fr autom4te.cache
108         rm -f aclocal.m4
109         rm -f missing mkinstalldirs
110         rm -f install-sh
111         rm -f configure Makefile 
112         rm -f depcomp
113         rm -rf intl gl
114         rm -f m4/*.m4
115         rm -f $(PO_FILES) po/*.gmo 
116         rm -f mdate-sh texinfo.tex
117         rm -f doc/stamp-vti
118         rm -f config.h.in~
119         find . -name Makefile.in -exec rm -f {} \; 
120         rm -f compile
121
122 .PHONY: all gettextize potfiles clean