chiark / gitweb /
runlisp-base.conf: Fix some minor formatting bogons.
[runlisp] / Makefile.am
1 ### -*-makefile-*-
2 ###
3 ### Build script for `runlisp'
4 ###
5 ### (c) 2020 Mark Wooding
6 ###
7
8 ###----- Licensing notice ---------------------------------------------------
9 ###
10 ### This file is part of Runlisp, a tool for invoking Common Lisp scripts.
11 ###
12 ### Runlisp is free software: you can redistribute it and/or modify it
13 ### under the terms of the GNU General Public License as published by the
14 ### Free Software Foundation; either version 3 of the License, or (at your
15 ### option) any later version.
16 ###
17 ### Runlisp is distributed in the hope that it will be useful, but WITHOUT
18 ### ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
19 ### FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
20 ### for more details.
21 ###
22 ### You should have received a copy of the GNU General Public License
23 ### along with Runlisp.  If not, see <https://www.gnu.org/licenses/>.
24
25 include $(top_srcdir)/vars.am
26
27 SUBDIRS                  =
28
29 image_DATA               =
30 image_SCRIPTS            =
31
32 SUBDIRS                 += .
33
34 ACLOCAL_AMFLAGS          = -Im4
35
36 ###--------------------------------------------------------------------------
37 ### A library of common code.
38
39 noinst_LIBRARIES        += librunlisp.a
40 librunlisp_a_SOURCES     =
41
42 librunlisp_a_SOURCES    += common.c common.h
43 librunlisp_a_SOURCES    += lib.c lib.h
44 librunlisp_a_SOURCES    += mdwopt.c mdwopt.h
45 librunlisp_a_SOURCES    += sha256.c sha256.h
46
47 ###--------------------------------------------------------------------------
48 ### The main driver program.
49
50 bin_PROGRAMS            += runlisp
51 runlisp_SOURCES          = runlisp.c
52 runlisp_LDADD            = librunlisp.a
53 man_MANS                += runlisp.1
54 doc_DATA                += runlisp.pdf
55 EXTRA_DIST              += runlisp.1.in
56
57 ###--------------------------------------------------------------------------
58 ### Additional machinery.
59
60 pkgdata_DATA            += eval.lisp
61 EXTRA_DIST              += eval.lisp
62
63 pkgdata_SCRIPTS         += dump-ecl
64 EXTRA_DIST              += dump-ecl
65
66 bin_PROGRAMS            += query-runlisp-config
67 query_runlisp_config_SOURCES = query-runlisp-config.c
68 query_runlisp_config_LDADD = librunlisp.a
69 man_MANS                += query-runlisp-config.1
70 doc_DATA                += query-runlisp-config.pdf
71 EXTRA_DIST              += query-runlisp-config.1.in
72
73 man_MANS                += runlisp.conf.5
74 doc_DATA                += runlisp.conf.pdf
75 EXTRA_DIST              += runlisp.conf.5.in
76
77 EXTRA_DIST              += runlisp-base.conf
78 install-data-hook::
79         $(MKDIR_P) $(DESTDIR)$(pkgconfdir)/runlisp.d
80         cp $(srcdir)/runlisp-base.conf \
81                 $(DESTDIR)$(pkgconfdir)/runlisp.d/0base.conf
82 uninstall-hook::
83         rm -f $(DESTDIR)$(pkgconfdir)/runlisp.d/0base.conf
84
85 EXTRA_DIST              += runlisp.conf
86 install-data-hook::
87         $(MKDIR_P) $(DESTDIR)$(pkgconfdir)
88         if ! [ -f $(DESTDIR)$(pkgconfdir)/runlisp.conf ]; then \
89           cp $(srcdir)/runlisp.conf $(DESTDIR)$(pkgconfdir)/; \
90         fi
91 uninstall-hook::
92         rm -f $(DESTDIR)$(pkgconfdir)/runlisp.conf
93
94 ###--------------------------------------------------------------------------
95 ### Image dumping.
96
97 bin_PROGRAMS            += dump-runlisp-image
98 dump_runlisp_image_SOURCES  = dump-runlisp-image.c
99 dump_runlisp_image_LDADD = librunlisp.a
100 man_MANS                += dump-runlisp-image.1
101 doc_DATA                += dump-runlisp-image.pdf
102 EXTRA_DIST              += dump-runlisp-image.1.in
103
104 DUMP_RUNLISP_IMAGE       = $(v_dump)\
105                            ASDF_OUTPUT_TRANSLATIONS='( \
106                                 :output-translations \
107                                 :ignore-inherited-configuration \
108                                 (t ("$(abs_builddir)/" "fasl/" \
109                                         :implementation-type :**/ :*.*.*)))' \
110                            ./dump-runlisp-image -f -O$@ \
111                                 -c$(srcdir)/runlisp-base.conf \
112                                 -odata-dir=$(srcdir)
113 clean-local::; rm -fr fasl
114
115 v_dump                   = $(v_dump_@AM_V@)
116 v_dump_                  = $(v_dump_@AM_DEFAULT_V@)
117 v_dump_0                 = @echo "  DUMP     $@";
118
119 IMAGES                   =
120 noinst_DATA             += $(IMAGES)
121
122 if DUMP_SBCL
123 IMAGES                  += sbcl+asdf.core
124 CLEANFILES              += sbcl+asdf.core sbcl+asdf.core-*
125 sbcl+asdf.core: dump-runlisp-image runlisp-base.conf
126         $(DUMP_RUNLISP_IMAGE) sbcl
127 endif
128
129 if DUMP_CCL
130 IMAGES                  += ccl+asdf.image
131 CLEANFILES              += ccl+asdf.image ccl+asdf.image-*
132 ccl+asdf.image: dump-runlisp-image runlisp-base.conf
133         $(DUMP_RUNLISP_IMAGE) ccl
134 endif
135
136 if DUMP_CLISP
137 IMAGES                  += clisp+asdf.mem
138 CLEANFILES              += clisp+asdf.mem clisp+asdf.mem-*
139 clisp+asdf.mem: dump-runlisp-image runlisp-base.conf
140         $(DUMP_RUNLISP_IMAGE) clisp
141 endif
142
143 if DUMP_ECL
144 IMAGES                  += ecl+asdf
145 CLEANFILES              += ecl+asdf ecl+asdf-*
146 ecl+asdf: dump-runlisp-image runlisp-base.conf dump-ecl
147         $(DUMP_RUNLISP_IMAGE) -odata-dir=$(srcdir) ecl
148 endif
149
150 if DUMP_CMUCL
151 IMAGES                  += cmucl+asdf.core
152 CLEANFILES              += cmucl+asdf.core cmucl+asdf.core-*
153 cmucl+asdf.core: dump-runlisp-image runlisp-base.conf
154         $(DUMP_RUNLISP_IMAGE) cmucl
155 endif
156
157 install-data-hook::
158         mkdir -p $(DESTDIR)$(imagedir)
159         set -e; for i in $(IMAGES); do \
160           j=$$(readlink $$i); \
161           cp $$j $(DESTDIR)$(imagedir)/$$j.new && \
162                 mv $(DESTDIR)$(imagedir)/$$j.new \
163                         $(DESTDIR)$(imagedir)/$$j; \
164           ln -sf $$j $(DESTDIR)$(imagedir)/$$i; \
165         done
166
167 uninstall-hook::
168         set -e; for i in $(IMAGES); do \
169           if j=$$(readlink $(DESTDIR)$(imagedir)/$$i); then \
170             case $$j in \
171               $$i-*[!0-9a-f]) ;; \
172               $$i-*) rm -f $(DESTDIR)$(imagedir)/$$j ;; \
173             esac; \
174           fi; \
175           rm -f $(DESTDIR)$(imagedir)/$$i; \
176         done
177
178 ###--------------------------------------------------------------------------
179 ### Other subdirectories.
180
181 ## Documentation.
182 SUBDIRS                 += doc
183 EXTRA_DIST              += README.org
184
185 ## Testing.
186 SUBDIRS                 += t
187
188 ## Benchmarking.
189 if BENCHMARK
190 SUBDIRS                 += bench
191 endif
192
193 ###--------------------------------------------------------------------------
194 ### Distribution.
195
196 ## Release number.
197 dist-hook::
198         echo $(VERSION) >$(distdir)/RELEASE
199
200 ## Additional build tools.
201 EXTRA_DIST              += config/auto-version
202 EXTRA_DIST              += config/confsubst
203
204 ## Debian.
205 EXTRA_DIST              += debian/changelog debian/copyright debian/compat
206 EXTRA_DIST              += debian/control debian/rules
207
208 EXTRA_DIST              += debian/runlisp.install debian/runlisp.dirs
209 EXTRA_DIST              += debian/runlisp.config debian/runlisp.templates
210 EXTRA_DIST              += debian/runlisp.postinst
211 EXTRA_DIST              += debian/runlisp.prerm debian/runlisp.postrm
212 EXTRA_DIST              += debian/runlisp.triggers
213
214 ###----- That's all, folks --------------------------------------------------