summaryrefslogtreecommitdiff
path: root/libexec/ld.so/test/Makefile
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>