]>
Commit | Line | Data |
---|---|---|
ccc6cda3 JA |
1 | # |
2 | # Simple makefile for the sample loadable builtins | |
3 | # | |
bb70624e JA |
4 | # Copyright (C) 1996 Free Software Foundation, Inc. |
5 | ||
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 2, or (at your option) | |
9 | # 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, write to the Free Software | |
18 | # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA. | |
19 | ||
cce855bc JA |
20 | # Include some boilerplate Gnu makefile definitions. |
21 | prefix = @prefix@ | |
22 | ||
23 | exec_prefix = @exec_prefix@ | |
24 | bindir = @bindir@ | |
25 | libdir = @libdir@ | |
26 | infodir = @infodir@ | |
27 | includedir = @includedir@ | |
28 | ||
29 | topdir = @top_srcdir@ | |
30 | BUILD_DIR = @BUILD_DIR@ | |
31 | srcdir = @srcdir@ | |
32 | VPATH = .:@srcdir@ | |
33 | ||
34 | @SET_MAKE@ | |
35 | CC = @CC@ | |
36 | RM = rm -f | |
37 | ||
b72432fd | 38 | SHELL = @MAKE_SHELL@ |
cce855bc | 39 | |
b72432fd JA |
40 | host_os = @host_os@ |
41 | host_cpu = @host_cpu@ | |
42 | host_vendor = @host_vendor@ | |
43 | ||
44 | CFLAGS = @CFLAGS@ | |
45 | ||
46 | # | |
47 | # These values are generated for configure by ${topdir}/support/shobj-conf. | |
48 | # If your system is not supported by that script, but includes facilities for | |
49 | # dynamic loading of shared objects, please update the script and send the | |
50 | # changes to bash-maintainers@gnu.org. | |
51 | # | |
52 | SHOBJ_CC = @SHOBJ_CC@ | |
53 | SHOBJ_CFLAGS = @SHOBJ_CFLAGS@ | |
54 | SHOBJ_LD = @SHOBJ_LD@ | |
55 | SHOBJ_LDFLAGS = @SHOBJ_LDFLAGS@ | |
56 | SHOBJ_XLDFLAGS = @SHOBJ_XLDFLAGS@ | |
57 | SHOBJ_LIBS = @SHOBJ_LIBS@ | |
58 | SHOBJ_STATUS = @SHOBJ_STATUS@ | |
ccc6cda3 | 59 | |
cce855bc | 60 | INC = -I. -I.. -I$(topdir) -I$(topdir)/lib -I$(topdir)/builtins \ |
bb70624e JA |
61 | -I$(topdir)/include -I$(BUILD_DIR) -I$(BUILD_DIR)/lib \ |
62 | -I$(BUILD_DIR)/builtins | |
ccc6cda3 JA |
63 | |
64 | .c.o: | |
b72432fd | 65 | $(SHOBJ_CC) $(SHOBJ_CFLAGS) $(CFLAGS) $(INC) -c -o $@ $< |
ccc6cda3 | 66 | |
ccc6cda3 | 67 | |
cce855bc | 68 | ALLPROG = print truefalse sleep pushd finfo logname basename dirname \ |
b72432fd | 69 | tty pathchk tee head mkdir rmdir sprintf printenv id whoami \ |
28ef6c31 | 70 | uname sync push ln unlink cut realpath |
cce855bc JA |
71 | OTHERPROG = necho getconf hello cat |
72 | ||
b72432fd JA |
73 | all: $(SHOBJ_STATUS) |
74 | ||
75 | supported: $(ALLPROG) | |
76 | others: $(OTHERPROG) | |
77 | ||
78 | unsupported: | |
79 | @echo "Your system (${host_os}) is not supported by the" | |
80 | @echo "${topdir}/support/shobj-conf script." | |
81 | @echo "If your operating system provides facilities for dynamic" | |
82 | @echo "loading of shared objects using the dlopen(3) interface," | |
83 | @echo "please update the script and re-run configure. | |
84 | @echo "Please send the changes you made to bash-maintainers@gnu.org" | |
85 | @echo "for inclusion in future bash releases." | |
cce855bc | 86 | |
b72432fd | 87 | everything: supported others |
ccc6cda3 JA |
88 | |
89 | sprintf: sprintf.o | |
b72432fd | 90 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ sprintf.o $(SHOBJ_LIBS) |
ccc6cda3 JA |
91 | |
92 | print: print.o | |
b72432fd | 93 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ print.o $(SHOBJ_LIBS) |
ccc6cda3 JA |
94 | |
95 | necho: necho.o | |
b72432fd | 96 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ necho.o $(SHOBJ_LIBS) |
ccc6cda3 JA |
97 | |
98 | getconf: getconf.o | |
b72432fd | 99 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ getconf.o $(SHOBJ_LIBS) |
ccc6cda3 JA |
100 | |
101 | hello: hello.o | |
b72432fd | 102 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ hello.o $(SHOBJ_LIBS) |
ccc6cda3 JA |
103 | |
104 | truefalse: truefalse.o | |
b72432fd | 105 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ truefalse.o $(SHOBJ_LIBS) |
ccc6cda3 JA |
106 | |
107 | sleep: sleep.o | |
b72432fd | 108 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ sleep.o $(SHOBJ_LIBS) |
ccc6cda3 JA |
109 | |
110 | finfo: finfo.o | |
b72432fd | 111 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ finfo.o $(SHOBJ_LIBS) |
ccc6cda3 JA |
112 | |
113 | cat: cat.o | |
b72432fd | 114 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ cat.o $(SHOBJ_LIBS) |
ccc6cda3 JA |
115 | |
116 | logname: logname.o | |
b72432fd | 117 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ logname.o $(SHOBJ_LIBS) |
ccc6cda3 JA |
118 | |
119 | basename: basename.o | |
b72432fd | 120 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ basename.o $(SHOBJ_LIBS) |
ccc6cda3 JA |
121 | |
122 | dirname: dirname.o | |
b72432fd | 123 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ dirname.o $(SHOBJ_LIBS) |
ccc6cda3 JA |
124 | |
125 | tty: tty.o | |
b72432fd | 126 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ tty.o $(SHOBJ_LIBS) |
ccc6cda3 JA |
127 | |
128 | pathchk: pathchk.o | |
b72432fd | 129 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ pathchk.o $(SHOBJ_LIBS) |
ccc6cda3 JA |
130 | |
131 | tee: tee.o | |
b72432fd JA |
132 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ tee.o $(SHOBJ_LIBS) |
133 | ||
134 | mkdir: mkdir.o | |
135 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ mkdir.o $(SHOBJ_LIBS) | |
ccc6cda3 JA |
136 | |
137 | rmdir: rmdir.o | |
b72432fd | 138 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ rmdir.o $(SHOBJ_LIBS) |
ccc6cda3 JA |
139 | |
140 | head: head.o | |
b72432fd JA |
141 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ head.o $(SHOBJ_LIBS) |
142 | ||
143 | printenv: printenv.o | |
144 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ printenv.o $(SHOBJ_LIBS) | |
145 | ||
146 | id: id.o | |
147 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ id.o $(SHOBJ_LIBS) | |
148 | ||
149 | whoami: whoami.o | |
150 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ whoami.o $(SHOBJ_LIBS) | |
151 | ||
152 | uname: uname.o | |
153 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ uname.o $(SHOBJ_LIBS) | |
154 | ||
155 | sync: sync.o | |
156 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ sync.o $(SHOBJ_LIBS) | |
157 | ||
158 | push: push.o | |
159 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ push.o $(SHOBJ_LIBS) | |
160 | ||
161 | ln: ln.o | |
162 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ ln.o $(SHOBJ_LIBS) | |
163 | ||
164 | unlink: unlink.o | |
165 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ unlink.o $(SHOBJ_LIBS) | |
166 | ||
28ef6c31 JA |
167 | cut: cut.o |
168 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ cut.o $(SHOBJ_LIBS) | |
169 | ||
170 | realpath: realpath.o | |
171 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ realpath.o $(SHOBJ_LIBS) | |
b72432fd JA |
172 | |
173 | # pushd is a special case. We use the same source that the builtin version | |
174 | # uses, with special compilation options. | |
175 | # | |
176 | pushd.c: ${topdir}/builtins/pushd.def | |
177 | $(RM) $@ | |
178 | ${BUILD_DIR}/builtins/mkbuiltins -D ${topdir}/builtins ${topdir}/builtins/pushd.def | |
179 | ||
180 | pushd.o: pushd.c | |
181 | $(RM) $@ | |
182 | $(SHOBJ_CC) -DPUSHD_AND_POPD -DLOADABLE_BUILTIN $(SHOBJ_CFLAGS) $(CFLAGS) $(INC) -c -o $@ $< | |
183 | ||
184 | pushd: pushd.o | |
185 | $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ pushd.o $(SHOBJ_LIBS) | |
cce855bc JA |
186 | |
187 | clean: | |
188 | $(RM) $(ALLPROG) $(OTHERPROG) *.o | |
bb70624e | 189 | -( cd perl && ${MAKE} ${MFLAGS} $@ ) |
cce855bc JA |
190 | |
191 | mostlyclean: clean | |
bb70624e | 192 | -( cd perl && ${MAKE} ${MFLAGS} $@ ) |
cce855bc JA |
193 | |
194 | distclean maintainer-clean: clean | |
b72432fd | 195 | $(RM) Makefile pushd.c |
bb70624e | 196 | -( cd perl && ${MAKE} ${MFLAGS} $@ ) |
cce855bc JA |
197 | |
198 | print.o: print.c | |
199 | truefalse.o: truefalse.c | |
200 | sleep.o: sleep.c | |
cce855bc JA |
201 | finfo.o: finfo.c |
202 | logname.o: logname.c | |
203 | basename.o: basename.c | |
204 | dirname.o: dirname.c | |
205 | tty.o: tty.c | |
206 | pathchk.o: pathchk.c | |
207 | tee.o: tee.c | |
208 | head.o: head.c | |
209 | rmdir.o: rmdir.c | |
210 | sprintf.o: sprintf.c | |
211 | necho.o: necho.c | |
212 | getconf.o: getconf.c | |
213 | hello.o: hello.c | |
214 | cat.o: cat.c | |
b72432fd JA |
215 | printenv.o: printenv.c |
216 | id.o: id.c | |
217 | whoami.o: whoami.c | |
218 | uname.o: uname.c | |
219 | sync.o: sync.c | |
220 | push.o: push.c | |
221 | mkdir.o: mkdir.c | |
28ef6c31 | 222 | realpath.o: realpath.c |