]>
Commit | Line | Data |
---|---|---|
ccc6cda3 JA |
1 | # |
2 | # Simple makefile for the sample loadable builtins | |
3 | # | |
8868edaf | 4 | # Copyright (C) 1996-2019 Free Software Foundation, Inc. |
bb70624e | 5 | |
3185942a JA |
6 | # This program is free software: you can redistribute it and/or modify |
7 | # it under the terms of the GNU General Public License as published by | |
8 | # the Free Software Foundation, either version 3 of the License, or | |
9 | # (at your option) any later version. | |
10 | # | |
11 | # This program is distributed in the hope that it will be useful, | |
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | # GNU General Public License for more details. | |
15 | # | |
16 | # You should have received a copy of the GNU General Public License | |
17 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
18 | # | |
bb70624e | 19 | |
a0c0a00f CR |
20 | PACKAGE = @PACKAGE_NAME@ |
21 | VERSION = @PACKAGE_VERSION@ | |
22 | ||
cce855bc JA |
23 | # Include some boilerplate Gnu makefile definitions. |
24 | prefix = @prefix@ | |
25 | ||
26 | exec_prefix = @exec_prefix@ | |
27 | bindir = @bindir@ | |
28 | libdir = @libdir@ | |
29 | infodir = @infodir@ | |
30 | includedir = @includedir@ | |
31 | ||
3185942a JA |
32 | datarootdir = @datarootdir@ |
33 | ||
a0c0a00f CR |
34 | loadablesdir = @loadablesdir@ |
35 | headersdir = @headersdir@ | |
36 | ||
cce855bc JA |
37 | topdir = @top_srcdir@ |
38 | BUILD_DIR = @BUILD_DIR@ | |
39 | srcdir = @srcdir@ | |
a0c0a00f CR |
40 | VPATH = @srcdir@ |
41 | ||
42 | # Support an alternate destination root directory for package building | |
43 | DESTDIR = | |
44 | ||
45 | INSTALL = @INSTALL@ | |
46 | INSTALL_PROGRAM = @INSTALL_PROGRAM@ | |
47 | INSTALL_SCRIPT = @INSTALL_SCRIPT@ | |
48 | INSTALL_DATA = @INSTALL_DATA@ | |
49 | INSTALLMODE= -m 0755 | |
cce855bc JA |
50 | |
51 | @SET_MAKE@ | |
52 | CC = @CC@ | |
53 | RM = rm -f | |
54 | ||
b72432fd | 55 | SHELL = @MAKE_SHELL@ |
cce855bc | 56 | |
b72432fd JA |
57 | host_os = @host_os@ |
58 | host_cpu = @host_cpu@ | |
59 | host_vendor = @host_vendor@ | |
60 | ||
61 | CFLAGS = @CFLAGS@ | |
7117c2d2 JA |
62 | LOCAL_CFLAGS = @LOCAL_CFLAGS@ |
63 | DEFS = @DEFS@ | |
64 | LOCAL_DEFS = @LOCAL_DEFS@ | |
65 | ||
95732b49 JA |
66 | CPPFLAGS = @CPPFLAGS@ |
67 | ||
68 | BASHINCDIR = ${topdir}/include | |
69 | ||
a0c0a00f CR |
70 | SUPPORT_SRC = $(topdir)/support/ |
71 | ||
95732b49 JA |
72 | LIBBUILD = ${BUILD_DIR}/lib |
73 | ||
74 | INTL_LIBSRC = ${topdir}/lib/intl | |
75 | INTL_BUILDDIR = ${LIBBUILD}/intl | |
76 | INTL_INC = @INTL_INC@ | |
77 | LIBINTL_H = @LIBINTL_H@ | |
78 | ||
8868edaf | 79 | CCFLAGS = $(DEFS) $(LOCAL_DEFS) $(LOCAL_CFLAGS) $(CPPFLAGS) $(CFLAGS) |
b72432fd JA |
80 | |
81 | # | |
82 | # These values are generated for configure by ${topdir}/support/shobj-conf. | |
83 | # If your system is not supported by that script, but includes facilities for | |
84 | # dynamic loading of shared objects, please update the script and send the | |
85 | # changes to bash-maintainers@gnu.org. | |
86 | # | |
87 | SHOBJ_CC = @SHOBJ_CC@ | |
88 | SHOBJ_CFLAGS = @SHOBJ_CFLAGS@ | |
89 | SHOBJ_LD = @SHOBJ_LD@ | |
3185942a | 90 | SHOBJ_LDFLAGS = @SHOBJ_LDFLAGS@ @LDFLAGS@ |
b72432fd JA |
91 | SHOBJ_XLDFLAGS = @SHOBJ_XLDFLAGS@ |
92 | SHOBJ_LIBS = @SHOBJ_LIBS@ | |
93 | SHOBJ_STATUS = @SHOBJ_STATUS@ | |
ccc6cda3 | 94 | |
a0c0a00f | 95 | INC = -I. -I.. -I$(topdir) -I$(topdir)/lib -I$(topdir)/builtins -I${srcdir} \ |
95732b49 JA |
96 | -I$(BASHINCDIR) -I$(BUILD_DIR) -I$(LIBBUILD) \ |
97 | -I$(BUILD_DIR)/builtins $(INTL_INC) | |
ccc6cda3 JA |
98 | |
99 | .c.o: | |
7117c2d2 | 100 | $(SHOBJ_CC) $(SHOBJ_CFLAGS) $(CCFLAGS) $(INC) -c -o $@ $< |
ccc6cda3 | 101 | |
ccc6cda3 | 102 | |
d233b485 | 103 | ALLPROG = print truefalse sleep finfo logname basename dirname fdflags \ |
8868edaf CR |
104 | tty pathchk tee head mkdir rmdir mkfifo mktemp printenv id whoami \ |
105 | uname sync push ln unlink realpath strftime mypid setpgid seq rm \ | |
106 | accept csv cut | |
107 | OTHERPROG = necho hello cat pushd stat asort | |
cce855bc | 108 | |
b72432fd JA |
109 | all: $(SHOBJ_STATUS) |
110 | ||
111 | supported: $(ALLPROG) | |
112 | others: $(OTHERPROG) | |
113 | ||
114 | unsupported: | |
115 | @echo "Your system (${host_os}) is not supported by the" | |
116 | @echo "${topdir}/support/shobj-conf script." | |
117 | @echo "If your operating system provides facilities for dynamic" | |
118 | @echo "loading of shared objects using the dlopen(3) interface," | |
a0c0a00f | 119 | @echo "please update the script and re-run configure." |
b72432fd JA |
120 | @echo "Please send the changes you made to bash-maintainers@gnu.org" |
121 | @echo "for inclusion in future bash releases." | |
cce855bc | 122 | |
b72432fd | 123 | everything: supported others |
ccc6cda3 | 124 | |
ccc6cda3 | 125 | print: print.o |
b72432fd | 126 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ print.o $(SHOBJ_LIBS) |
ccc6cda3 JA |
127 | |
128 | necho: necho.o | |
b72432fd | 129 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ necho.o $(SHOBJ_LIBS) |
ccc6cda3 | 130 | |
ccc6cda3 | 131 | hello: hello.o |
b72432fd | 132 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ hello.o $(SHOBJ_LIBS) |
ccc6cda3 JA |
133 | |
134 | truefalse: truefalse.o | |
b72432fd | 135 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ truefalse.o $(SHOBJ_LIBS) |
ccc6cda3 | 136 | |
8868edaf CR |
137 | accept: accept.o |
138 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ accept.o $(SHOBJ_LIBS) | |
139 | ||
ccc6cda3 | 140 | sleep: sleep.o |
b72432fd | 141 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ sleep.o $(SHOBJ_LIBS) |
ccc6cda3 JA |
142 | |
143 | finfo: finfo.o | |
b72432fd | 144 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ finfo.o $(SHOBJ_LIBS) |
ccc6cda3 JA |
145 | |
146 | cat: cat.o | |
b72432fd | 147 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ cat.o $(SHOBJ_LIBS) |
ccc6cda3 | 148 | |
d233b485 CR |
149 | rm: rm.o |
150 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ rm.o $(SHOBJ_LIBS) | |
151 | ||
152 | fdflags: fdflags.o | |
153 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ fdflags.o $(SHOBJ_LIBS) | |
154 | ||
155 | seq: seq.o | |
156 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ seq.o $(SHOBJ_LIBS) | |
157 | ||
ccc6cda3 | 158 | logname: logname.o |
b72432fd | 159 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ logname.o $(SHOBJ_LIBS) |
ccc6cda3 JA |
160 | |
161 | basename: basename.o | |
b72432fd | 162 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ basename.o $(SHOBJ_LIBS) |
ccc6cda3 JA |
163 | |
164 | dirname: dirname.o | |
b72432fd | 165 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ dirname.o $(SHOBJ_LIBS) |
ccc6cda3 JA |
166 | |
167 | tty: tty.o | |
b72432fd | 168 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ tty.o $(SHOBJ_LIBS) |
ccc6cda3 JA |
169 | |
170 | pathchk: pathchk.o | |
b72432fd | 171 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ pathchk.o $(SHOBJ_LIBS) |
ccc6cda3 JA |
172 | |
173 | tee: tee.o | |
b72432fd JA |
174 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ tee.o $(SHOBJ_LIBS) |
175 | ||
176 | mkdir: mkdir.o | |
177 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ mkdir.o $(SHOBJ_LIBS) | |
ccc6cda3 JA |
178 | |
179 | rmdir: rmdir.o | |
b72432fd | 180 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ rmdir.o $(SHOBJ_LIBS) |
ccc6cda3 | 181 | |
8868edaf CR |
182 | mkfifo: mkfifo.o |
183 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ mkfifo.o $(SHOBJ_LIBS) | |
184 | ||
185 | mktemp: mktemp.o | |
186 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ mktemp.o $(SHOBJ_LIBS) | |
187 | ||
ccc6cda3 | 188 | head: head.o |
b72432fd JA |
189 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ head.o $(SHOBJ_LIBS) |
190 | ||
191 | printenv: printenv.o | |
192 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ printenv.o $(SHOBJ_LIBS) | |
193 | ||
194 | id: id.o | |
195 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ id.o $(SHOBJ_LIBS) | |
196 | ||
197 | whoami: whoami.o | |
198 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ whoami.o $(SHOBJ_LIBS) | |
199 | ||
200 | uname: uname.o | |
201 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ uname.o $(SHOBJ_LIBS) | |
202 | ||
203 | sync: sync.o | |
204 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ sync.o $(SHOBJ_LIBS) | |
205 | ||
206 | push: push.o | |
207 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ push.o $(SHOBJ_LIBS) | |
208 | ||
209 | ln: ln.o | |
210 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ ln.o $(SHOBJ_LIBS) | |
211 | ||
212 | unlink: unlink.o | |
213 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ unlink.o $(SHOBJ_LIBS) | |
214 | ||
28ef6c31 JA |
215 | realpath: realpath.o |
216 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ realpath.o $(SHOBJ_LIBS) | |
b72432fd | 217 | |
8868edaf CR |
218 | csv: csv.o |
219 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ csv.o $(SHOBJ_LIBS) | |
220 | ||
221 | cut: cut.o | |
222 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ cut.o $(SHOBJ_LIBS) | |
223 | ||
b80f6443 JA |
224 | strftime: strftime.o |
225 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ strftime.o $(SHOBJ_LIBS) | |
226 | ||
3185942a JA |
227 | mypid: mypid.o |
228 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ mypid.o $(SHOBJ_LIBS) | |
229 | ||
a0c0a00f CR |
230 | setpgid: setpgid.o |
231 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ setpgid.o $(SHOBJ_LIBS) | |
232 | ||
d233b485 CR |
233 | stat: stat.o |
234 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ stat.o $(SHOBJ_LIBS) | |
235 | ||
8868edaf CR |
236 | asort: asort.o |
237 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ asort.o $(SHOBJ_LIBS) | |
238 | ||
b72432fd JA |
239 | # pushd is a special case. We use the same source that the builtin version |
240 | # uses, with special compilation options. | |
241 | # | |
242 | pushd.c: ${topdir}/builtins/pushd.def | |
243 | $(RM) $@ | |
244 | ${BUILD_DIR}/builtins/mkbuiltins -D ${topdir}/builtins ${topdir}/builtins/pushd.def | |
245 | ||
246 | pushd.o: pushd.c | |
247 | $(RM) $@ | |
95732b49 | 248 | $(SHOBJ_CC) -DHAVE_CONFIG_H -DPUSHD_AND_POPD -DLOADABLE_BUILTIN $(SHOBJ_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(INC) -c -o $@ $< |
b72432fd JA |
249 | |
250 | pushd: pushd.o | |
251 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ pushd.o $(SHOBJ_LIBS) | |
cce855bc JA |
252 | |
253 | clean: | |
254 | $(RM) $(ALLPROG) $(OTHERPROG) *.o | |
bb70624e | 255 | -( cd perl && ${MAKE} ${MFLAGS} $@ ) |
cce855bc JA |
256 | |
257 | mostlyclean: clean | |
bb70624e | 258 | -( cd perl && ${MAKE} ${MFLAGS} $@ ) |
cce855bc JA |
259 | |
260 | distclean maintainer-clean: clean | |
a0c0a00f | 261 | $(RM) Makefile Makefile.inc pushd.c |
bb70624e | 262 | -( cd perl && ${MAKE} ${MFLAGS} $@ ) |
cce855bc | 263 | |
a0c0a00f CR |
264 | installdirs: |
265 | @${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(loadablesdir) | |
266 | ||
267 | install-dev: installdirs | |
268 | @$(INSTALL_DATA) Makefile.inc $(DESTDIR)$(loadablesdir)/Makefile.inc | |
d233b485 | 269 | @$(INSTALL_DATA) $(srcdir)/loadables.h $(DESTDIR)$(loadablesdir)/loadables.h |
a0c0a00f CR |
270 | @( cd $(BUILD_DIR) && ${MAKE} ${MFLAGS} DESTDIR="$(DESTDIR)" install-headers) |
271 | ||
272 | install-supported: all installdirs install-dev | |
273 | @echo installing example loadable builtins in $(DESTDIR)${loadablesdir} | |
274 | @for prog in ${ALLPROG}; do \ | |
275 | echo $$prog ; \ | |
276 | $(INSTALL_PROGRAM) $(INSTALLMODE) $$prog $(DESTDIR)$(loadablesdir)/$$prog ;\ | |
277 | done | |
278 | ||
279 | uninstall-dev: | |
d233b485 | 280 | -$(RM) $(DESTDIR)$(loadablesdir)/Makefile.inc $(DESTDIR)$(loadablesdir)/loadables.h |
a0c0a00f CR |
281 | -( cd $(BUILD_DIR) && ${MAKE} ${MFLAGS} DESTDIR="$(DESTDIR)" uninstall-headers) |
282 | ||
283 | uninstall-supported: uninstall-dev | |
284 | -( cd $(DESTDIR)${loadablesdir} && $(RM) ${ALLPROG} ) | |
285 | ||
286 | install-unsupported: | |
287 | uninstall-unsupported: | |
288 | ||
289 | install: install-$(SHOBJ_STATUS) | |
290 | uninstall: uninstall-$(SHOBJ_STATUS) | |
291 | ||
cce855bc JA |
292 | print.o: print.c |
293 | truefalse.o: truefalse.c | |
8868edaf | 294 | accept.o: accept.c |
cce855bc | 295 | sleep.o: sleep.c |
cce855bc JA |
296 | finfo.o: finfo.c |
297 | logname.o: logname.c | |
298 | basename.o: basename.c | |
299 | dirname.o: dirname.c | |
300 | tty.o: tty.c | |
301 | pathchk.o: pathchk.c | |
302 | tee.o: tee.c | |
303 | head.o: head.c | |
304 | rmdir.o: rmdir.c | |
cce855bc | 305 | necho.o: necho.c |
cce855bc JA |
306 | hello.o: hello.c |
307 | cat.o: cat.c | |
8868edaf CR |
308 | csv.o: csv.c |
309 | cut.o: cut.c | |
b72432fd JA |
310 | printenv.o: printenv.c |
311 | id.o: id.c | |
312 | whoami.o: whoami.c | |
313 | uname.o: uname.c | |
314 | sync.o: sync.c | |
315 | push.o: push.c | |
316 | mkdir.o: mkdir.c | |
8868edaf | 317 | mktemp.o: mktemp.c |
28ef6c31 | 318 | realpath.o: realpath.c |
b80f6443 | 319 | strftime.o: strftime.c |
a0c0a00f | 320 | setpgid.o: setpgid.c |
d233b485 CR |
321 | stat.o: stat.c |
322 | fdflags.o: fdflags.c | |
323 | seq.o: seq.c | |
8868edaf | 324 | asort.o: asort.c |