X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=Makefile;h=6369e8f4209c932bd502831d3e6b9bca0d320de6;hb=faaf70f1cc7ade1d6d5a41a900a3b58cc4bd5f58;hp=a114ecac663ffea533e69e439d39dcde30d9e426;hpb=37c271b216b73109879cfc9fbe7146ab9b52fa0c;p=platform%2Fupstream%2Fbtrfs-progs.git diff --git a/Makefile b/Makefile index a114eca..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,6 +124,9 @@ 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/sanitize.o +all_objects = $(objects) $(cmds_objects) $(libbtrfs_objects) $(convert_objects) \ + $(mkfs_objects) $(image_objects) TESTS = fsck-tests.sh convert-tests.sh @@ -209,6 +215,9 @@ btrfs_fragments_libs = -lgd -lpng -ljpeg -lfreetype btrfs_debug_tree_objects = cmds-inspect-dump-tree.o 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))) @@ -237,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 @@ -255,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 @@ -414,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) @@ -478,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] $@" @@ -488,14 +499,14 @@ 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] $@" $(Q)$(RM) -rf -- $(TMPD) fssum: tests/fssum.c tests/sha224-256.c - @echo " [LD] $@" + @echo " [LD] $@" $(Q)$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) test-build: test-build-pre test-build-real @@ -591,5 +602,5 @@ uninstall: cd $(DESTDIR)$(bindir); $(RM) -f -- btrfsck fsck.btrfs $(progs_install) ifneq ($(MAKECMDGOALS),clean) --include $(objects:.o=.o.d) $(cmds_objects:.o=.o.d) $(subst .btrfs,, $(filter-out btrfsck.o.d, $(progs:=.o.d))) +-include $(all_objects:.o=.o.d) $(subst .btrfs,, $(filter-out btrfsck.o.d, $(progs:=.o.d))) endif