blob: 2266ad0c2fb6a48c6ab616d8ffd219fea5366a66 (
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
|
# $OpenBSD: Makefile,v 1.5 2001/05/28 21:38:14 drahn Exp $
DIR=/usr/src/libexec/ld.so/obj/ld.so
.if (${MACHINE_ARCH} != "mips")
#necssary to build the shared objects. not necessary for dltest but
#doesn't hurt
CFLAGS += -fpic
.endif
CFLAGS += -g
CFLAGS += -I${.CURDIR}/.. -I${.CURDIR}/../${MACHINE_ARCH}
LDFLAGS += -Wl,--export-dynamic -Wl,-dynamic-linker -Wl,${DIR}
#LDFLAGS += -Wl,--export-dynamic
SRCS= ldt.c
PROG= ldt
MAN=
CLEANFILES= dltest dltest.o libfoo.so libfoo.o libbar.so libbar.o libdep.so
CLEANFILES+= libdep.o CCtest dltest A.o B.o tst.o libA.so libB.so
all: dltest CCtest
dltest: dltest.o libfoo.so libbar.so libdep.so
$(CC) ${CFLAGS} -o $@ dltest.o ${LDFLAGS} -ldl
libfoo.so: libfoo.o
$(CC) -shared -o libfoo.so libfoo.o
libbar.so: libbar.o
$(CC) -shared -o libbar.so libbar.o
libdep.so: libdep.o
$(CC) -shared -o libdep.so libdep.o
A.o: A.C
g++ -c ${CFLAGS} ${.IMPSRC}
libA.so: A.o
$(CC) -shared -o $@ A.o
B.o: B.C
g++ -c ${CFLAGS} ${.IMPSRC}
libB.so: B.o
$(CC) -shared -o $@ B.o
CCtest: libA.so libB.so tst.o
g++ ${LDFLAGS} -o $@ tst.o libB.so libA.so
run:
@echo running CCtest
LD_LIBRARY_PATH=. CCtest
@echo running dltest -l bar -f bar
LD_LIBRARY_PATH=. dltest -l bar -f bar
@echo running dltest -l foo -f foo
LD_LIBRARY_PATH=. dltest -l foo -f foo
.include <bsd.prog.mk>
.include <bsd.subdir.mk>
|