-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
117 lines (84 loc) · 4.52 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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# $Id: Makefile,v 1.2 2004/10/12 09:06:17 marquet Exp $
##############################################################################
ROOTDIR=.
SRCDIR=src/
CC = gcc
CFLAGS = -Wall -ansi # -pedantic
CFLAGS += -g
LIBDIR = $(ROOTDIR)/lib
INCDIR = -I$(ROOTDIR)/include
LIBS = -L$(LIBDIR) -lhardware
SUFFIX = .bin
###------------------------------
### Main targets
###------------------------------------------------------------
BINARIES= create-disk${SUFFIX} dmps${SUFFIX} dvol${SUFFIX} frmt${SUFFIX} mkvol${SUFFIX} print_mbr${SUFFIX} mknfs${SUFFIX} test_file${SUFFIX}\
rvol${SUFFIX} tfs${SUFFIX} if_status${SUFFIX} if_pfile${SUFFIX} if_cfile${SUFFIX} if_nfile${SUFFIX} if_dfile${SUFFIX} test_convert_blc${SUFFIX}
OBJECTS= $(addsuffix .o,\
mkhd)
#all: $(BINARIES) $(OBJECTS)
all: create-disk dmps frmt drive volume filesystem ifile dvol print_mbr mkvol mknfs rvol\
if_status if_pfile if_nfile if_dfile if_cfile
test: tconvert_blc tfilesystem tfilesystem test_file
###------------------------------
### Main rules
###------------------------------------------------------------
create-disk: drive ${SRCDIR}create_disk.c
$(CC) $(CFLAGS) -o create-disk${SUFFIX} drive.o ${SRCDIR}create_disk.c ${LIBS}
dmps: drive volume ${SRCDIR}dmps.c
$(CC) $(CFLAGS) -o dmps${SUFFIX} drive.o ${SRCDIR}dmps.c ${LIBS}
frmt: drive volume ${SRCDIR}frmt.c
$(CC) $(CFLAGS) -o frmt${SUFFIX} drive.o volume.o tools.o ${SRCDIR}frmt.c ${LIBS}
drive: ${SRCDIR}drive.c ${SRCDIR}drive.h
$(CC) $(CFLAGS) -o drive.o -c ${SRCDIR}drive.c ${INCDIR}
volume: tools drive ${SRCDIR}volume.c ${SRCDIR}volume.h
$(CC) $(CFLAGS) -o volume.o -c ${SRCDIR}volume.c ${INCDIR}
filesystem: volume ${SRCDIR}filesystem.c ${SRCDIR}filesystem.h
$(CC) $(CFLAGS) -o filesystem.o -c ${SRCDIR}filesystem.c ${INCDIR}
tools: ${SRCDIR}tools.c ${SRCDIR}tools.h
$(CC) $(CFLAGS) -o tools.o -c ${SRCDIR}tools.c ${LIBS}
ifile: filesystem ${SRCDIR}ifile.c ${SRCDIR}ifile.h
$(CC) $(CFLAGS) -o ifile.o -c ${SRCDIR}ifile.c ${INCDIR}
file: filesystem ${SRCDIR}file.c ${SRCDIR}file.h
$(CC) $(CFLAGS) -o file.o -c ${SRCDIR}file.c ${INCDIR}
dir: ${SRCDIR}dir.c ${SRCDIR}dir.h
$(CC) $(CFLAGS) -o dir.o -c ${SRCDIR}dir.c ${INCDIR}
dvol: volume drive ${SRCDIR}dvol.c
$(CC) $(CFLAGS) -o dvol${SUFFIX} drive.o volume.o tools.o ${SRCDIR}dvol.c ${LIBS}
mkvol: volume drive ${SRCDIR}mkvol.c
$(CC) $(CFLAGS) -o mkvol${SUFFIX} drive.o volume.o tools.o ${SRCDIR}mkvol.c ${LIBS}
mknfs: volume drive filesystem tools ifile ${SRCDIR}mknfs.c
$(CC) $(CFLAGS) -o mknfs${SUFFIX} drive.o volume.o filesystem.o tools.o ifile.o ${SRCDIR}mknfs.c ${LIBS}
print_mbr: volume drive ${SRCDIR}print_mbr.c
$(CC) $(CFLAGS) -o print_mbr${SUFFIX} drive.o volume.o tools.o ${SRCDIR}print_mbr.c ${LIBS}
rvol: volume drive ${SRCDIR}rvol.c
$(CC) $(CFLAGS) -o rvol${SUFFIX} drive.o volume.o tools.o ${SRCDIR}rvol.c ${LIBS}
if_status: filesystem ${SRCDIR}if_status.c
$(CC) $(CFLAGS) -o if_status${SUFFIX} drive.o volume.o filesystem.o tools.o ${SRCDIR}if_status.c ${LIBS}
if_pfile: ifile ${SRCDIR}if_pfile.c
$(CC) $(CFLAGS) -o if_pfile${SUFFIX} drive.o volume.o filesystem.o ifile.o tools.o ${SRCDIR}if_pfile.c ${LIBS}
if_nfile: ifile ${SRCDIR}if_nfile.c
$(CC) $(CFLAGS) -o if_nfile${SUFFIX} drive.o volume.o filesystem.o ifile.o tools.o ${SRCDIR}if_nfile.c ${LIBS}
if_dfile: ifile ${SRCDIR}if_dfile.c
$(CC) $(CFLAGS) -o if_dfile${SUFFIX} drive.o volume.o filesystem.o ifile.o tools.o ${SRCDIR}if_dfile.c ${LIBS}
if_cfile: ifile ${SRCDIR}if_cfile.c
$(CC) $(CFLAGS) -o if_cfile${SUFFIX} drive.o volume.o filesystem.o ifile.o tools.o ${SRCDIR}if_cfile.c ${LIBS}
###------------------------------
### Testing rules
###------------------------------------------------------------
tconvert_blc: volume drive ${SRCDIR}test_convert_blc.c
$(CC) $(CFLAGS) -o test_convert_blc${SUFFIX} drive.o volume.o tools.o ${SRCDIR}test_convert_blc.c ${LIBS}
tfilesystem: filesystem volume drive ${SRCDIR}test_filesystem.c
$(CC) $(CFLAGS) -o tfs${SUFFIX} drive.o volume.o filesystem.o tools.o ${SRCDIR}test_filesystem.c ${LIBS}
tfile: file drive volume filesystem volume ${SRCDIR}test_file.c
$(CC) $(CFLAGS) -o tfile${SUFFIX} drive.o volume.o filesystem.o file.o tools.o ${SRCDIR}test_file.c ${LIBS}
test_file: dir ifile file tools ${SRCDIR}test_file.c
$(CC) $(CFLAGS) -o test_file${SUFFIX} drive.o volume.o filesystem.o ifile.o file.o dir.o tools.o ${SRCDIR}test_file.c ${LIBS}
###------------------------------
### Misc.
###------------------------------------------------------------
.PHONY: clean realclean depend
clean:
$(RM) *.o $(BINARIES)
realclean: clean
$(RM) vdiskA.bin vdiskB.bin