2
# Simple makefile for the sample loadable builtins
4
# Copyright (C) 1996-2009 Free Software Foundation, Inc.
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.
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.
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/>.
20
# Include some boilerplate Gnu makefile definitions.
23
exec_prefix = @exec_prefix@
27
includedir = @includedir@
29
datarootdir = @datarootdir@
32
BUILD_DIR = @BUILD_DIR@
44
host_vendor = @host_vendor@
47
LOCAL_CFLAGS = @LOCAL_CFLAGS@
49
LOCAL_DEFS = @LOCAL_DEFS@
53
BASHINCDIR = ${topdir}/include
55
LIBBUILD = ${BUILD_DIR}/lib
57
INTL_LIBSRC = ${topdir}/lib/intl
58
INTL_BUILDDIR = ${LIBBUILD}/intl
60
LIBINTL_H = @LIBINTL_H@
62
CCFLAGS = $(DEFS) $(LOCAL_DEFS) $(LOCAL_CFLAGS) $(CFLAGS)
65
# These values are generated for configure by ${topdir}/support/shobj-conf.
66
# If your system is not supported by that script, but includes facilities for
67
# dynamic loading of shared objects, please update the script and send the
68
# changes to bash-maintainers@gnu.org.
71
SHOBJ_CFLAGS = @SHOBJ_CFLAGS@
73
SHOBJ_LDFLAGS = @SHOBJ_LDFLAGS@ @LDFLAGS@
74
SHOBJ_XLDFLAGS = @SHOBJ_XLDFLAGS@
75
SHOBJ_LIBS = @SHOBJ_LIBS@
76
SHOBJ_STATUS = @SHOBJ_STATUS@
78
INC = -I. -I.. -I$(topdir) -I$(topdir)/lib -I$(topdir)/builtins \
79
-I$(BASHINCDIR) -I$(BUILD_DIR) -I$(LIBBUILD) \
80
-I$(BUILD_DIR)/builtins $(INTL_INC)
83
$(SHOBJ_CC) $(SHOBJ_CFLAGS) $(CCFLAGS) $(INC) -c -o $@ $<
86
ALLPROG = print truefalse sleep pushd finfo logname basename dirname \
87
tty pathchk tee head mkdir rmdir printenv id whoami \
88
uname sync push ln unlink realpath strftime mypid
89
OTHERPROG = necho hello cat
97
@echo "Your system (${host_os}) is not supported by the"
98
@echo "${topdir}/support/shobj-conf script."
99
@echo "If your operating system provides facilities for dynamic"
100
@echo "loading of shared objects using the dlopen(3) interface,"
101
@echo "please update the script and re-run configure.
102
@echo "Please send the changes you made to bash-maintainers@gnu.org"
103
@echo "for inclusion in future bash releases."
105
everything: supported others
108
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ print.o $(SHOBJ_LIBS)
111
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ necho.o $(SHOBJ_LIBS)
114
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ hello.o $(SHOBJ_LIBS)
116
truefalse: truefalse.o
117
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ truefalse.o $(SHOBJ_LIBS)
120
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ sleep.o $(SHOBJ_LIBS)
123
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ finfo.o $(SHOBJ_LIBS)
126
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ cat.o $(SHOBJ_LIBS)
129
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ logname.o $(SHOBJ_LIBS)
132
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ basename.o $(SHOBJ_LIBS)
135
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ dirname.o $(SHOBJ_LIBS)
138
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ tty.o $(SHOBJ_LIBS)
141
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ pathchk.o $(SHOBJ_LIBS)
144
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ tee.o $(SHOBJ_LIBS)
147
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ mkdir.o $(SHOBJ_LIBS)
150
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ rmdir.o $(SHOBJ_LIBS)
153
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ head.o $(SHOBJ_LIBS)
156
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ printenv.o $(SHOBJ_LIBS)
159
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ id.o $(SHOBJ_LIBS)
162
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ whoami.o $(SHOBJ_LIBS)
165
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ uname.o $(SHOBJ_LIBS)
168
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ sync.o $(SHOBJ_LIBS)
171
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ push.o $(SHOBJ_LIBS)
174
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ ln.o $(SHOBJ_LIBS)
177
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ unlink.o $(SHOBJ_LIBS)
180
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ realpath.o $(SHOBJ_LIBS)
183
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ strftime.o $(SHOBJ_LIBS)
186
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ mypid.o $(SHOBJ_LIBS)
188
# pushd is a special case. We use the same source that the builtin version
189
# uses, with special compilation options.
191
pushd.c: ${topdir}/builtins/pushd.def
193
${BUILD_DIR}/builtins/mkbuiltins -D ${topdir}/builtins ${topdir}/builtins/pushd.def
197
$(SHOBJ_CC) -DHAVE_CONFIG_H -DPUSHD_AND_POPD -DLOADABLE_BUILTIN $(SHOBJ_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(INC) -c -o $@ $<
200
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ pushd.o $(SHOBJ_LIBS)
203
$(RM) $(ALLPROG) $(OTHERPROG) *.o
204
-( cd perl && ${MAKE} ${MFLAGS} $@ )
207
-( cd perl && ${MAKE} ${MFLAGS} $@ )
209
distclean maintainer-clean: clean
210
$(RM) Makefile pushd.c
211
-( cd perl && ${MAKE} ${MFLAGS} $@ )
214
truefalse.o: truefalse.c
218
basename.o: basename.c
228
printenv.o: printenv.c
235
realpath.o: realpath.c
236
strftime.o: strftime.c