-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
91 lines (79 loc) · 1.41 KB
/
Makefile
File metadata and controls
91 lines (79 loc) · 1.41 KB
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
CC = gcc
CSAPP_INC = ../include
CSAPP_SRC = ../src
CFLAGS = -Wall -Og -I $(CSAPP_INC) -I .
LDLIBS = -lpthread
PROGS = fragments.o\
waitforsignal\
sigsuspend\
orphan\
blockone\
procmask1\
procmask2\
counterprob\
waitprob0\
waitprob1\
waitprob3\
fork1\
fork2\
fork3\
forkprob1\
forkprob2\
forkprob3\
forkprob4\
forkprob5\
forkprob6\
forkprob7\
forkprob8\
setjmp\
alarm\
restart\
signal1\
signal2\
signal3\
signal4\
sigint\
sigintsafe\
shellex\
kill\
psignal\
getpid\
fork\
waitpid1\
waitpid2\
myecho\
stack\
sigfpe\
sigbus\
sigsegv\
forkprob0\
signalprob0\
snooze\
test\
pg\
pgchild\
hello\
hello-asm32\
hello-asm64\
jmpbuf\
rfork.o\
rfork-driver\
cmdline
all: $(CSAPP_SRC)/csapp.o $(PROGS)
# confirm that argc and argv are in registers
cmdline: cmdline.c
$(CC) $(CFLAGS) -o cmdline cmdline.c
objdump -d cmdline > cmdline.d
# rfork-driver doesn't use csapp.c
rfork-driver: rfork-driver.c rfork.c
$(CC) -o rfork-driver rfork-driver.c rfork.c
# hello-asm.s is a handwritten asm program for syscalls using the IA32 convention
hello-asm32: hello-asm32.s
$(CC) -m64 -o hello-asm32 hello-asm32.s
# hello-asm64.s is a handwritten asm program for syscalls using the x86-64 convention
hello-asm64: hello-asm64.s
$(CC) -m64 -o hello-asm64 hello-asm64.s
$(PROGS): $(CSAPP_SRC)/csapp.o
$(CSAPP_SRC)/csapp.o: $(CSAPP_SRC)/csapp.c $(CSAPP_INC)/csapp.h
clean:
rm -f $(PROGS) *.o *~