X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=Makefile;h=6369e8f4209c932bd502831d3e6b9bca0d320de6;hb=f181e18f46de24b99a1341670a8936452cc55b12;hp=9b7ac2f4eb01e40c513c67ebddf5a3ffadbd11db;hpb=fd8c78a47c2448891db57c867b0f16c4367fa501;p=platform%2Fupstream%2Fbtrfs-progs.git diff --git a/Makefile b/Makefile index 9b7ac2f..6369e8f 100644 --- a/Makefile +++ b/Makefile @@ -59,11 +59,13 @@ DEBUG_LDFLAGS_DEFAULT = DEBUG_LDFLAGS_INTERNAL = DEBUG_LDFLAGS := -TOPDIR := $(shell pwd) +ABSTOPDIR = $(shell pwd) +TOPDIR := . # Common build flags +CSTD = -std=gnu90 CFLAGS = $(SUBST_CFLAGS) \ - -std=gnu90 \ + $(CSTD) \ -include config.h \ -DBTRFS_FLAT_INCLUDES \ -D_XOPEN_SOURCE=700 \ @@ -91,11 +93,12 @@ STATIC_LIBS = $(STATIC_LIBS_BASE) # don't use FORTIFY with sparse because glibc with FORTIFY can # generate so many sparse errors that sparse stops parsing, # which masks real errors that we want to see. +# Note: additional flags might get added per-target later CHECKER := sparse check_defs := .cc-defines.h CHECKER_FLAGS := -include $(check_defs) -D__CHECKER__ \ -D__CHECK_ENDIAN__ -Wbitwise -Wuninitialized -Wshadow -Wundef \ - -U_FORTIFY_SOURCE + -U_FORTIFY_SOURCE -Wdeclaration-after-statement -Wdefault-bitfield-sign objects = ctree.o disk-io.o kernel-lib/radix-tree.o extent-tree.o print-tree.o \ root-tree.o dir-item.o file-item.o inode-item.o inode-map.o \ @@ -121,7 +124,7 @@ libbtrfs_headers = send-stream.h send-utils.h send.h kernel-lib/rbtree.h btrfs-l convert_objects = convert/main.o convert/common.o convert/source-fs.o \ convert/source-ext2.o convert/source-reiserfs.o mkfs_objects = mkfs/main.o mkfs/common.o -image_objects = image/main.o +image_objects = image/main.o image/sanitize.o all_objects = $(objects) $(cmds_objects) $(libbtrfs_objects) $(convert_objects) \ $(mkfs_objects) $(image_objects) @@ -214,6 +217,8 @@ btrfs_show_super_objects = cmds-inspect-dump-super.o btrfs_calc_size_objects = cmds-inspect-tree-stats.o cmds_restore_cflags = -DBTRFSRESTORE_ZSTD=$(BTRFSRESTORE_ZSTD) +CHECKER_FLAGS += $(btrfs_convert_cflags) + # collect values of the variables above standalone_deps = $(foreach dep,$(patsubst %,%_objects,$(subst -,_,$(filter btrfs-%, $(progs)))),$($(dep))) @@ -241,6 +246,7 @@ static_cmds_objects = $(patsubst %.o, %.static.o, $(cmds_objects)) static_libbtrfs_objects = $(patsubst %.o, %.static.o, $(libbtrfs_objects)) static_convert_objects = $(patsubst %.o, %.static.o, $(convert_objects)) static_mkfs_objects = $(patsubst %.o, %.static.o, $(mkfs_objects)) +static_image_objects = $(patsubst %.o, %.static.o, $(image_objects)) libs_shared = libbtrfs.so.0.1 libs_static = libbtrfs.a @@ -259,13 +265,14 @@ ifdef C grep -v __SIZE_TYPE__ > $(check_defs)) check = $(CHECKER) check_echo = echo + CSTD = -std=gnu89 else check = true check_echo = true endif %.o.d: %.c - $(Q)$(CC) -MD -MM -MG -MF $@ -MT $(@:.o.d=.o) -MT $(@:.o.d=.static.o) -MT $@ $(CFLAGS) $< + $(Q)$(CC) -MM -MG -MF $@ -MT $(@:.o.d=.o) -MT $(@:.o.d=.static.o) -MT $@ $(CFLAGS) $< # # Pick from per-file variables, btrfs_*_cflags @@ -418,11 +425,11 @@ btrfstune.static: btrfstune.static.o $(static_objects) $(static_libbtrfs_objects @echo " [LD] $@" $(Q)$(CC) -o $@ $^ $(STATIC_LDFLAGS) $(STATIC_LIBS) -btrfs-image: image/main.o $(objects) $(libs_static) +btrfs-image: $(image_objects) $(objects) $(libs_static) @echo " [LD] $@" $(Q)$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) $(LIBS_COMP) -btrfs-image.static: image/main.static.o $(static_objects) $(static_libbtrfs_objects) +btrfs-image.static: $(static_image_objects) $(static_objects) $(static_libbtrfs_objects) @echo " [LD] $@" $(Q)$(CC) -o $@ $^ $(STATIC_LDFLAGS) $(STATIC_LIBS) $(STATIC_LIBS_COMP) @@ -482,7 +489,7 @@ library-test: library-test.c $(libs_shared) @echo " [TEST PREP] $@"$(eval TMPD=$(shell mktemp -d)) $(Q)mkdir -p $(TMPD)/include/btrfs && \ cp $(libbtrfs_headers) $(TMPD)/include/btrfs && \ - cd $(TMPD) && $(CC) -I$(TMPD)/include -o $@ $(addprefix $(TOPDIR)/,$^) -Wl,-rpath=$(TOPDIR) -lbtrfs + cd $(TMPD) && $(CC) -I$(TMPD)/include -o $@ $(addprefix $(ABSTOPDIR)/,$^) -Wl,-rpath=$(ABSTOPDIR) -lbtrfs @echo " [TEST RUN] $@" $(Q)cd $(TMPD) && ./$@ @echo " [TEST CLEAN] $@" @@ -492,7 +499,7 @@ library-test.static: library-test.c $(libs_static) @echo " [TEST PREP] $@"$(eval TMPD=$(shell mktemp -d)) $(Q)mkdir -p $(TMPD)/include/btrfs && \ cp $(libbtrfs_headers) $(TMPD)/include/btrfs && \ - cd $(TMPD) && $(CC) -I$(TMPD)/include -o $@ $(addprefix $(TOPDIR)/,$^) $(STATIC_LDFLAGS) $(STATIC_LIBS) + cd $(TMPD) && $(CC) -I$(TMPD)/include -o $@ $(addprefix $(ABSTOPDIR)/,$^) $(STATIC_LDFLAGS) $(STATIC_LIBS) @echo " [TEST RUN] $@" $(Q)cd $(TMPD) && ./$@ @echo " [TEST CLEAN] $@"