aboutsummaryrefslogtreecommitdiffstats
path: root/examples/loadables/Makefile.in
diff options
context:
space:
mode:
Diffstat (limited to 'examples/loadables/Makefile.in')
-rw-r--r--examples/loadables/Makefile.in180
1 files changed, 104 insertions, 76 deletions
diff --git a/examples/loadables/Makefile.in b/examples/loadables/Makefile.in
index 9773144..799b4cf 100644
--- a/examples/loadables/Makefile.in
+++ b/examples/loadables/Makefile.in
@@ -1,8 +1,6 @@
#
# Simple makefile for the sample loadable builtins
#
-# This includes some boilerplate definitions added by configure, but will
-# still need hand-editing
#
# Include some boilerplate Gnu makefile definitions.
prefix = @prefix@
@@ -22,123 +20,148 @@ VPATH = .:@srcdir@
CC = @CC@
RM = rm -f
-SHELL = /bin/sh
-
-# SunOS 4
-#PICFLAG = -pic
-# Some versions of gcc, esp. on NetBSD and FreeBSD
-PICFLAG = -fpic
-# Linux -- could also be -fpic
-#PICFLAG = -fPIC
-# SunOS 5
-#PICFLAG = -K pic
-# SVR4, SVR4.2, Irix
-#PICFLAG = -K PIC
-# BSD/OS 2.1, BSD/OS 3.x
-#PICFLAG =
-# AIX 4.2
-#PICFLAG = -K
-
-# SunOS 4, BSD/OS 2.1, BSD/OS 3.x, SVR4.2, SVR4, Linux, AIX 4.2, etc.
-LD = ld
-# SunOS 5, Linux
-#LD = ${CC}
-
-# SunOS 4
-#LDOPT = -assert pure-text
-# OSF/1, Digital UNIX
-#LDOPT = -shared -soname $@ -expect_unresolved '*'
-# SunOS 5 using sun cc
-#LDOPT = -dy -z text -G -i -h $@
-# SunOS 5 using gcc with Sun ld
-#LDOPT = -shared -Wl,-dy -Wl,-G -Wl,-i
-# SVR4, SVR4.2
-#LDOPT = -dy -z text -G -h $@
-# NetBSD, FreeBSD -- might also need -r
-LDOPT = -x -Bshareable
-# Linux
-#LDOPT = -shared
-# BSD/OS 2.1, BSD/OS 3.x
-#LDOPT = -r
-# AIX 4.2
-#LDOPT = -bdynamic -bnoentry -bexpall -G
-
-# other libraries to link the shared object against
-# BSD/OS 2.1
-#LDLIBS = -lc_s.2.1.0
-# BSD/OS 3.0, BSD/OS 3.1
-#LDLIBS = -lc_s.3.0.0
+SHELL = @MAKE_SHELL@
+host_os = @host_os@
+host_cpu = @host_cpu@
+host_vendor = @host_vendor@
+
+CFLAGS = @CFLAGS@
+
+#
+# These values are generated for configure by ${topdir}/support/shobj-conf.
+# If your system is not supported by that script, but includes facilities for
+# dynamic loading of shared objects, please update the script and send the
+# changes to bash-maintainers@gnu.org.
+#
+SHOBJ_CC = @SHOBJ_CC@
+SHOBJ_CFLAGS = @SHOBJ_CFLAGS@
+SHOBJ_LD = @SHOBJ_LD@
+SHOBJ_LDFLAGS = @SHOBJ_LDFLAGS@
+SHOBJ_XLDFLAGS = @SHOBJ_XLDFLAGS@
+SHOBJ_LIBS = @SHOBJ_LIBS@
+SHOBJ_STATUS = @SHOBJ_STATUS@
INC = -I. -I.. -I$(topdir) -I$(topdir)/lib -I$(topdir)/builtins \
-I$(BUILD_DIR) -I$(BUILD_DIR)/lib -I$(BUILD_DIR)/builtins
.c.o:
- $(CC) $(PICFLAG) $(CFLAGS) $(INC) -c -o $@ $<
+ $(SHOBJ_CC) $(SHOBJ_CFLAGS) $(CFLAGS) $(INC) -c -o $@ $<
ALLPROG = print truefalse sleep pushd finfo logname basename dirname \
- tty pathchk tee head rmdir sprintf
+ tty pathchk tee head mkdir rmdir sprintf printenv id whoami \
+ uname sync push ln unlink
OTHERPROG = necho getconf hello cat
-all: $(ALLPROG)
-others: $(OTHERPROG)
+all: $(SHOBJ_STATUS)
+
+supported: $(ALLPROG)
+others: $(OTHERPROG)
+
+unsupported:
+ @echo "Your system (${host_os}) is not supported by the"
+ @echo "${topdir}/support/shobj-conf script."
+ @echo "If your operating system provides facilities for dynamic"
+ @echo "loading of shared objects using the dlopen(3) interface,"
+ @echo "please update the script and re-run configure.
+ @echo "Please send the changes you made to bash-maintainers@gnu.org"
+ @echo "for inclusion in future bash releases."
-everything: all others
+everything: supported others
sprintf: sprintf.o
- $(LD) $(LDOPT) -o $@ sprintf.o $(LDLIBS)
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ sprintf.o $(SHOBJ_LIBS)
print: print.o
- $(LD) $(LDOPT) -o $@ print.o $(LDLIBS)
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ print.o $(SHOBJ_LIBS)
necho: necho.o
- $(LD) $(LDOPT) -o $@ necho.o $(LDLIBS)
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ necho.o $(SHOBJ_LIBS)
getconf: getconf.o
- $(LD) $(LDOPT) -o $@ getconf.o $(LDLIBS)
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ getconf.o $(SHOBJ_LIBS)
hello: hello.o
- $(LD) $(LDOPT) -o $@ hello.o $(LDLIBS)
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ hello.o $(SHOBJ_LIBS)
truefalse: truefalse.o
- $(LD) $(LDOPT) -o $@ truefalse.o $(LDLIBS)
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ truefalse.o $(SHOBJ_LIBS)
sleep: sleep.o
- $(LD) $(LDOPT) -o $@ sleep.o $(LDLIBS)
-
-pushd: pushd.o
- $(LD) $(LDOPT) -o $@ pushd.o $(LDLIBS)
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ sleep.o $(SHOBJ_LIBS)
finfo: finfo.o
- $(LD) $(LDOPT) -o $@ finfo.o $(LDLIBS)
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ finfo.o $(SHOBJ_LIBS)
cat: cat.o
- $(LD) $(LDOPT) -o $@ cat.o $(LDLIBS)
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ cat.o $(SHOBJ_LIBS)
logname: logname.o
- $(LD) $(LDOPT) -o $@ logname.o $(LDLIBS)
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ logname.o $(SHOBJ_LIBS)
basename: basename.o
- $(LD) $(LDOPT) -o $@ basename.o $(LDLIBS)
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ basename.o $(SHOBJ_LIBS)
dirname: dirname.o
- $(LD) $(LDOPT) -o $@ dirname.o $(LDLIBS)
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ dirname.o $(SHOBJ_LIBS)
tty: tty.o
- $(LD) $(LDOPT) -o $@ tty.o $(LDLIBS)
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ tty.o $(SHOBJ_LIBS)
pathchk: pathchk.o
- $(LD) $(LDOPT) -o $@ pathchk.o $(LDLIBS)
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ pathchk.o $(SHOBJ_LIBS)
tee: tee.o
- $(LD) $(LDOPT) -o $@ tee.o $(LDLIBS)
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ tee.o $(SHOBJ_LIBS)
+
+mkdir: mkdir.o
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ mkdir.o $(SHOBJ_LIBS)
rmdir: rmdir.o
- $(LD) $(LDOPT) -o $@ rmdir.o $(LDLIBS)
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ rmdir.o $(SHOBJ_LIBS)
head: head.o
- $(LD) $(LDOPT) -o $@ head.o $(LDLIBS)
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ head.o $(SHOBJ_LIBS)
+
+printenv: printenv.o
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ printenv.o $(SHOBJ_LIBS)
+
+id: id.o
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ id.o $(SHOBJ_LIBS)
+
+whoami: whoami.o
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ whoami.o $(SHOBJ_LIBS)
+
+uname: uname.o
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ uname.o $(SHOBJ_LIBS)
+
+sync: sync.o
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ sync.o $(SHOBJ_LIBS)
+
+push: push.o
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ push.o $(SHOBJ_LIBS)
+
+ln: ln.o
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ ln.o $(SHOBJ_LIBS)
+
+unlink: unlink.o
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ unlink.o $(SHOBJ_LIBS)
+
+
+# pushd is a special case. We use the same source that the builtin version
+# uses, with special compilation options.
+#
+pushd.c: ${topdir}/builtins/pushd.def
+ $(RM) $@
+ ${BUILD_DIR}/builtins/mkbuiltins -D ${topdir}/builtins ${topdir}/builtins/pushd.def
+
+pushd.o: pushd.c
+ $(RM) $@
+ $(SHOBJ_CC) -DPUSHD_AND_POPD -DLOADABLE_BUILTIN $(SHOBJ_CFLAGS) $(CFLAGS) $(INC) -c -o $@ $<
+
+pushd: pushd.o
+ $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ pushd.o $(SHOBJ_LIBS)
clean:
$(RM) $(ALLPROG) $(OTHERPROG) *.o
@@ -146,12 +169,11 @@ clean:
mostlyclean: clean
distclean maintainer-clean: clean
- $(RM) Makefile
+ $(RM) Makefile pushd.c
print.o: print.c
truefalse.o: truefalse.c
sleep.o: sleep.c
-pushd.o: pushd.c
finfo.o: finfo.c
logname.o: logname.c
basename.o: basename.c
@@ -166,4 +188,10 @@ necho.o: necho.c
getconf.o: getconf.c
hello.o: hello.c
cat.o: cat.c
-
+printenv.o: printenv.c
+id.o: id.c
+whoami.o: whoami.c
+uname.o: uname.c
+sync.o: sync.c
+push.o: push.c
+mkdir.o: mkdir.c