1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
#
# Simple makefile for the sample loadable builtins
#
CC = cc
# 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
#PICFLAG =
# AIX 4.2
#PICFLAG = -K
# SunOS 4, BSD/OS 2.1, 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
#LDOPT = -dy -z text -G -i -h $@
# 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
#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
srcdir = ../..
INC= -I$(srcdir) -I$(srcdir)/builtins -I$(srcdir)/lib
.c.o:
$(CC) $(PICFLAG) $(CFLAGS) $(INC) -c -o $@ $<
all: printf print truefalse sleep pushd finfo logname basename dirname \
tty pathchk tee head rmdir sprintf
others: necho getconf hello cat
printf: printf.o
$(LD) $(LDOPT) -o $@ printf.o $(LDLIBS)
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)
|