Skip to content

Commit 9b9bad7

Browse files
authored
Add automatic makefile header and library dependancy (#57)
1 parent f148a59 commit 9b9bad7

3 files changed

Lines changed: 62 additions & 20 deletions

File tree

build/unix/cecb/Makefile

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,26 @@ include ../rules.mak
33

44
vpath %.c ../../../cecb ../../../os9
55

6-
CFLAGS += -I../../../include -Wall
7-
LDFLAGS += -L../libtoolshed -L../libcoco -L../libcecb -L../libnative -L../librbf -L../libdecb -L../libmisc -L../libsys -ltoolshed -lcoco -ldecb -lcecb -lnative -lrbf -lmisc -lsys -lm
6+
CFLAGS += -I../../../include -Wall -MMD -MP
87

9-
cecb$(SUFEXE): cecbbulkerase.o cecbdir.o cecbfstat.o cecb_main.o cecbcopy.o cecbleader.o ../os9/os9dump.o ../decb/decblist.o \
10-
../libtoolshed/libtoolshed.a ../libcoco/libcoco.a ../libcecb/libcecb.a ../libnative/libnative.a \
11-
../librbf/librbf.a ../libdecb/libdecb.a ../libmisc/libmisc.a ../libsys/libsys.a
12-
$(CC) -o $@ $^ $(LDFLAGS)
8+
SRCS = cecbbulkerase.c cecbdir.c cecbfstat.c cecb_main.c cecbcopy.c cecbleader.c \
9+
../os9/os9dump.c ../decb/decblist.c
10+
OBJS = $(SRCS:.c=.o)
11+
DEPS = $(OBJS:.o=.d)
12+
13+
LIBDEPS = ../libtoolshed/libtoolshed.a ../libcoco/libcoco.a ../libnative/libnative.a \
14+
../libcecb/libcecb.a ../librbf/librbf.a ../libdecb/libdecb.a ../libmisc/libmisc.a \
15+
../libsys/libsys.a
16+
17+
# Derive -L flags from the directory part of each entry in LIBDEPS
18+
LDFLAGS += $(patsubst %,-L%,$(dir $(LIBDEPS))) \
19+
$(patsubst ../lib%/lib%.a,-l%,$(LIBDEPS)) \
20+
-lm
21+
22+
cecb$(SUFEXE): $(OBJS) $(LIBDEPS)
23+
$(CC) -o $@ $(OBJS) $(LDFLAGS)
1324

1425
clean:
15-
$(RM) *.o cecb cecb.exe
26+
$(RM) *.o *.d cecb cecb.exe
27+
28+
-include $(DEPS)

build/unix/decb/Makefile

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,26 @@ include ../rules.mak
33

44
vpath %.c ../../../decb ../../../os9
55

6-
CFLAGS += -I../../../include -Wall
7-
LDFLAGS += -L../libtoolshed -L../libcoco -L../libnative -L../libcecb -L../librbf -L../libdecb -L../libmisc -L../libsys -ltoolshed -lcoco -lnative -lcecb -lrbf -ldecb -lmisc -lsys -lm
6+
CFLAGS += -I../../../include -Wall -MMD -MP
87

9-
decb$(SUFEXE): decb_main.o decbattr.o decbcopy.o decbdir.o decbdskini.o decbfree.o decbfstat.o \
10-
decbhdbconv.o decbkill.o decblist.o decbrename.o os9dump.o decbdsave.o os9dsave.o
11-
$(CC) -o $@ $^ $(LDFLAGS)
8+
SRCS = decb_main.c decbattr.c decbcopy.c decbdir.c decbdskini.c decbfree.c decbfstat.c \
9+
decbhdbconv.c decbkill.c decblist.c decbrename.c os9dump.c decbdsave.c os9dsave.c
10+
OBJS = $(SRCS:.c=.o)
11+
DEPS = $(OBJS:.o=.d)
12+
13+
LIBDEPS = ../libtoolshed/libtoolshed.a ../libcoco/libcoco.a ../libnative/libnative.a \
14+
../libcecb/libcecb.a ../librbf/librbf.a ../libdecb/libdecb.a ../libmisc/libmisc.a \
15+
../libsys/libsys.a
16+
17+
# Derive -L flags from the directory part of each entry in LIBDEPS
18+
LDFLAGS += $(patsubst %,-L%,$(dir $(LIBDEPS))) \
19+
$(patsubst ../lib%/lib%.a,-l%,$(LIBDEPS)) \
20+
-lm
21+
22+
decb$(SUFEXE): $(OBJS) $(LIBDEPS)
23+
$(CC) -o $@ $(OBJS) $(LDFLAGS)
1224

1325
clean:
14-
$(RM) *.o decb decb.exe
26+
$(RM) *.o *.d decb decb.exe
27+
28+
-include $(DEPS)

build/unix/os9/Makefile

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,28 @@ include ../rules.mak
33

44
vpath %.c ../../../os9
55

6-
LDFLAGS += -L../libtoolshed -L../libcecb -L../libcoco -L../libnative -L../libdecb -L../libmisc -L../librbf -L../libsys -ltoolshed -lcoco -lnative -ldecb -lcecb -lmisc -lrbf -lsys -lm
6+
CFLAGS += -I../../../include -Wall -MMD -MP
77

8-
os9$(SUFEXE): os9copy.o os9dsave.o os9gen.o os9modbust.o os9dcheck.o os9dump.o \
9-
os9id.o os9padrom.o os9_main.o os9del.o os9format.o os9ident.o \
10-
os9rename.o os9attr.o os9deldir.o os9free.o os9list.o os9cmp.o \
11-
os9dir.o os9fstat.o os9makdir.o
12-
$(CC) -o $@ $^ $(LDFLAGS)
8+
SRCS = os9copy.c os9dsave.c os9gen.c os9modbust.c os9dcheck.c os9dump.c \
9+
os9id.c os9padrom.c os9_main.c os9del.c os9format.c os9ident.c \
10+
os9rename.c os9attr.c os9deldir.c os9free.c os9list.c os9cmp.c \
11+
os9dir.c os9fstat.c os9makdir.c
12+
OBJS = $(SRCS:.c=.o)
13+
DEPS = $(OBJS:.o=.d)
14+
15+
LIBDEPS = ../libtoolshed/libtoolshed.a ../libcoco/libcoco.a ../libnative/libnative.a \
16+
../libcecb/libcecb.a ../librbf/librbf.a ../libdecb/libdecb.a ../libmisc/libmisc.a \
17+
../libsys/libsys.a
18+
19+
# Derive -L flags from the directory part of each entry in LIBDEPS
20+
LDFLAGS += $(patsubst %,-L%,$(dir $(LIBDEPS))) \
21+
$(patsubst ../lib%/lib%.a,-l%,$(LIBDEPS)) \
22+
-lm
23+
24+
os9$(SUFEXE): $(OBJS) $(LIBDEPS)
25+
$(CC) -o $@ $(OBJS) $(LDFLAGS)
1326

1427
clean:
15-
$(RM) *.o os9 os9.exe
28+
$(RM) *.o *.d os9 os9.exe
29+
30+
-include $(DEPS)

0 commit comments

Comments
 (0)