X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=Makefile;h=00e21379467a377795dab94154b3ffc9eefd166d;hb=24103f42ad7a65457a62ae5c0190ea0e428cb14b;hp=a114ecac663ffea533e69e439d39dcde30d9e426;hpb=37c271b216b73109879cfc9fbe7146ab9b52fa0c;p=platform%2Fupstream%2Fbtrfs-progs.git diff --git a/Makefile b/Makefile index a114eca..00e2137 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 \ @@ -120,9 +123,10 @@ libbtrfs_headers = send-stream.h send-utils.h send.h kernel-lib/rbtree.h btrfs-l extent-cache.h extent_io.h ioctl.h ctree.h btrfsck.h version.h 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 - -TESTS = fsck-tests.sh convert-tests.sh +mkfs_objects = mkfs/main.o mkfs/common.o mkfs/rootdir.o +image_objects = image/main.o image/sanitize.o +all_objects = $(objects) $(cmds_objects) $(libbtrfs_objects) $(convert_objects) \ + $(mkfs_objects) $(image_objects) udev_rules = 64-btrfs-dm.rules @@ -209,9 +213,12 @@ 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))) +standalone_deps = $(foreach dep,$(patsubst %,%_objects,$(subst -,_,$(filter btrfs-%, $(progs) $(progs_extra)))),$($(dep))) SUBDIRS = BUILDDIRS = $(patsubst %,build-%,$(SUBDIRS)) @@ -237,6 +244,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 +263,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 @@ -328,7 +337,7 @@ test: test-fsck test-mkfs test-convert test-misc test-fuzz test-cli # static: $(progs_static) -version.h: version.sh version.h.in configure.ac +version.h: version.h.in configure.ac @echo " [SH] $@" $(Q)bash ./config.status --silent $@ @@ -414,11 +423,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 +487,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 +497,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 +600,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