File: Makefile

package info (click to toggle)
fudgit 2.42-6
  • links: PTS
  • area: non-free
  • in suites: potato, woody
  • size: 2,468 kB
  • ctags: 2,375
  • sloc: ansic: 27,729; makefile: 793; yacc: 724; lex: 102; asm: 29; fortran: 15
file content (59 lines) | stat: -rw-r--r-- 1,420 bytes parent folder | download
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
EXECS = call_add1 dld-test overlay reload reload-test simple call_add2

OBJS =  hello.o print_arg.o read-a.out.o list-undefined.o get-sym.o \
	need.o test-define.o print_global.o remove.o

LIB = ../libdld.a
INCLUDE = ../dld.h
CC= gcc
CFLAGS = -g -O6 -I..

check:	all
all:	${EXECS} ${LIB}
	#				 "test simple"
	-simple
	#				 "test call_add1"
	-call_add1
	-call_add2
	#				 "test overlay"
	-overlay
	#				 "test reload"
	-reload reload-test
	#				 "test general"
	-dld-test <SAMPLE_INPUT
	#				 "tests complete"

clean:
	rm -f ${EXECS} *.o

${LIB}:	../dld.c $(INCLUDE)
	cd ..; $(MAKE)

simple:	$(LIB) $(INCLUDE) simple.c
	${CC} ${CFLAGS} simple.c $(LIB) -o simple

call_add1: $(LIB) $(INCLUDE) add1.o call_add1.c
	${CC} ${CFLAGS} call_add1.c $(LIB) -o call_add1

call_add2: $(LIB) $(INCLUDE) add2.o call_add2.c
	${CC} ${CFLAGS} call_add2.c $(LIB) -o call_add2

overlay: $(LIB) $(INCLUDE) overlay.c chain1.o chain2.o chain3.o
	${CC} ${CFLAGS} -fwritable-strings overlay.c $(LIB) -o overlay

reload: $(LIB) $(INCLUDE) reload.o reload-test
	${CC} ${CFLAGS} reload.o $(LIB) -o reload

reload-test: reload-test.o Makefile
#	ld -r reload-test.o /lib/libc.a -o reload-test
	ld -r reload-test.o /usr/lib/libgcc.a /usr/lib/libc.a \
	 /usr/lib/libgcc.a -o reload-test		#linux

hello.o: hello.c
	${CC} -c hello.c

dld-test: $(LIB) $(INCLUDE) ${OBJS} main.o
	${CC} ${CFLAGS} main.o $(LIB) -o dld-test

.c.o:
	${CC} -c ${CFLAGS} $*.c