#
# 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@

exec_prefix = @exec_prefix@
bindir = @bindir@
libdir = @libdir@
infodir = @infodir@
includedir = @includedir@

topdir = @top_srcdir@
BUILD_DIR = @BUILD_DIR@
srcdir = @srcdir@
VPATH = .:@srcdir@

@SET_MAKE@
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


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 $@ $<


ALLPROG = print truefalse sleep pushd finfo logname basename dirname \
	  tty pathchk tee head rmdir sprintf
OTHERPROG = necho getconf hello cat

all:	$(ALLPROG)
others:	$(OTHERPROG)

everything: all others

sprintf: sprintf.o
	$(LD) $(LDOPT) -o $@ sprintf.o $(LDLIBS)

print:	print.o
	$(LD) $(LDOPT) -o $@ print.o $(LDLIBS)

necho:	necho.o
	$(LD) $(LDOPT) -o $@ necho.o $(LDLIBS)

getconf: getconf.o
	$(LD) $(LDOPT) -o $@ getconf.o $(LDLIBS)

hello:	hello.o
	$(LD) $(LDOPT) -o $@ hello.o $(LDLIBS)

truefalse: truefalse.o
	$(LD) $(LDOPT) -o $@ truefalse.o $(LDLIBS)

sleep:	sleep.o
	$(LD) $(LDOPT) -o $@ sleep.o $(LDLIBS)

pushd:	pushd.o
	$(LD) $(LDOPT) -o $@ pushd.o $(LDLIBS)

finfo:	finfo.o
	$(LD) $(LDOPT) -o $@ finfo.o $(LDLIBS)

cat:	cat.o
	$(LD) $(LDOPT) -o $@ cat.o $(LDLIBS)

logname:	logname.o
	$(LD) $(LDOPT) -o $@ logname.o $(LDLIBS)

basename:	basename.o
	$(LD) $(LDOPT) -o $@ basename.o $(LDLIBS)

dirname:	dirname.o
	$(LD) $(LDOPT) -o $@ dirname.o $(LDLIBS)

tty:	tty.o
	$(LD) $(LDOPT) -o $@ tty.o $(LDLIBS)

pathchk:	pathchk.o
	$(LD) $(LDOPT) -o $@ pathchk.o $(LDLIBS)

tee:	tee.o
	$(LD) $(LDOPT) -o $@ tee.o $(LDLIBS)

rmdir:	rmdir.o
	$(LD) $(LDOPT) -o $@ rmdir.o $(LDLIBS)

head:	head.o
	$(LD) $(LDOPT) -o $@ head.o $(LDLIBS)

clean:
	$(RM) $(ALLPROG) $(OTHERPROG) *.o

mostlyclean:	clean

distclean maintainer-clean: clean
	$(RM) Makefile

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
dirname.o: dirname.c
tty.o: tty.c
pathchk.o: pathchk.c
tee.o: tee.c
head.o: head.c
rmdir.o: rmdir.c
sprintf.o: sprintf.c
necho.o: necho.c
getconf.o: getconf.c
hello.o: hello.c
cat.o: cat.c

