summaryrefslogtreecommitdiff
path: root/examples/loadables/Makefile
blob: 9f93bca77e6cb13bc332362ff0229c244fb2c6f2 (plain)
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)