From ec08b17c7514fe8c52d9bd8edf35460bc98a056e Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Wed, 19 Apr 2017 15:49:38 +0200 Subject: [PATCH 1/1] build: Fix dependencies for oslfsck. The autogenerated Makefile.deps does not work for the oslfsck exectutable because we compile the object files for oslfsck without -fPIC to generate more performant code, and name them e.g. util.fsck.o instead of util.o. Geting rid of this optimization not only fixes the dependencies but also simplifies the Makefile and speeds up the build. --- Makefile | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index eeb5dcc..25b06ea 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ bindir := $(PREFIX)/bin mandir := $(PREFIX)/man/man1 objects := osl.o util.o rbtree.o sha1.o -fsck_objects := fsck.fsck.o osl.fsck.o util.fsck.o rbtree.fsck.o sha1.fsck.o fsck.cmdline.o +fsck_objects := fsck.o osl.o util.o rbtree.o sha1.o fsck.cmdline.o headers := osl.h executables := oslfsck man_pages := oslfsck.1 @@ -29,6 +29,8 @@ z := 3 VERSION := $(x).$(y).$(z) # common flags +CPPFLAGS += -DVERSION='"$(VERSION)"' + CFLAGS += -Wno-sign-compare -g -Wunused -Wundef -W CFLAGS += -Wredundant-decls CFLAGS += -Os @@ -120,10 +122,7 @@ osl.c fsck.c: -include Makefile.deps fsck.cmdline.o: fsck.cmdline.c fsck.cmdline.h - $(CC) -c -DVERSION='"$(VERSION)"' $< - -%.fsck.o: %.c Makefile fsck.cmdline.c fsck.cmdline.h osl.h errtab.h - $(CC) -c -DVERSION='"$(VERSION)"' $(CPPFLAGS) $(CFLAGS) $< -o $@ + $(CC) $(CPPFLAGS) -c $< %.o: %.c Makefile errtab.h $(CC) -c $(CPPFLAGS) $(CFLAGS) $(LIBCFLAGS) $< -- 2.39.2