-
Notifications
You must be signed in to change notification settings - Fork 3
/
Makefile
103 lines (69 loc) · 1.85 KB
/
Makefile
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
#
# Makefile for s4 programs.
#
# MUST be written in ancient Make syntax for use on the 3b1.
#
all: compile lib exe
install:
cp $(EXE) $(INSTALLDIR)
INSTALLDIR = ~/bin
INC = -I.
DEBUG = -g -Wall
OPTIM = -O
CFLAGS = $(OPTIM) $(DEBUG) $(INC)
CC = gcc
S4LIB = libs4.a
S4DATE = s4date
S4DISK = s4disk
S4DUMP = s4dump
S4EXPORT = s4export
S4FSCK = s4fsck
S4FS = s4fs
S4IMPORT = s4import
S4MERGE = s4merge
S4MKFS = s4mkfs
S4TEST = s4test
S4VOL = s4vol
EXE = $(S4DATE) $(S4DISK) $(S4DUMP) $(S4EXPORT) $(S4FS) $(S4FSCK) \
$(S4IMPORT) $(S4MERGE) $(S4MKFS) $(S4TEST) $(S4VOL)
LIBOPTS = -L. -ls4
LIBOBJ = s4d.o
EXEOBJ = s4date.o s4disk.o s4dump.o s4export.o s4fs.o s4fsck.o \
s4import.o s4merge.o s4mkfs.o s4test.o s4vol.o ismounted.o
OBJ = $(LIBOBJ) $(EXEOBJ)
LIB = $(S4LIB)
# special compile with FsTYPE definition
s4fsck.o : s4fsck.c
$(CC) $(CFLAGS) -c -DFsTYPE=2 $<
$(S4LIB): $(LIBOBJ)
$(AR) rvu $(S4LIB) $(LIBOBJ)
$(S4DATE): s4date.o $(LIB)
$(CC) s4date.o $(LIBOPTS) -o $@
$(S4DISK): s4disk.o $(LIB)
$(CC) s4disk.o $(LIBOPTS) -o $@
$(S4DUMP): s4dump.o $(LIB)
$(CC) s4dump.o $(LIBOPTS) -o $@
$(S4EXPORT): s4export.o $(LIB)
$(CC) s4export.o $(LIBOPTS) -o $@
$(S4FS): s4fs.o $(LIB)
$(CC) s4fs.o $(LIBOPTS) -o $@
$(S4FSCK): s4fsck.o ismounted.o $(LIB)
$(CC) s4fsck.o ismounted.o $(LIBOPTS) -o $@
$(S4IMPORT): s4import.o $(LIB)
$(CC) s4import.o $(LIBOPTS) -o $@
$(S4MERGE): s4merge.o $(LIB)
$(CC) s4merge.o $(LIBOPTS) -o $@
$(S4MKFS): s4mkfs.o $(LIB)
$(CC) s4mkfs.o $(LIBOPTS) -o $@
$(S4TEST): s4test.o $(LIB)
$(CC) s4test.o $(LIBOPTS) -o $@
$(S4VOL): s4vol.o $(LIB)
$(CC) s4vol.o $(LIBOPTS) -o $@
compile: $(OBJ) $(LIB)
link: $(EXE)
lib: $(LIB)
exe: $(EXE)
clean:
rm -f $(LIB) $(EXE) $(OBJ)
# everything depends on s4d.h
$(OBJ) : s4d.h