X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=Makefile;h=cbd855336b2f56d1118783e389af210f1a5df952;hb=refs%2Fheads%2Faccepted%2Ftizen_7.0_unified;hp=7c88460818e379208ac74ff9e42a14fe77bcf475;hpb=502e2a3510c5db03335c0df8abc7f9804a65207b;p=platform%2Fupstream%2Fbtrfs-progs.git diff --git a/Makefile b/Makefile index 7c88460..cbd8553 100644 --- a/Makefile +++ b/Makefile @@ -135,7 +135,9 @@ libbtrfsutil_major := $(shell sed -rn 's/^\#define BTRFS_UTIL_VERSION_MAJOR ([0- libbtrfsutil_minor := $(shell sed -rn 's/^\#define BTRFS_UTIL_VERSION_MINOR ([0-9])+$$/\1/p' libbtrfsutil/btrfsutil.h) libbtrfsutil_patch := $(shell sed -rn 's/^\#define BTRFS_UTIL_VERSION_PATCH ([0-9])+$$/\1/p' libbtrfsutil/btrfsutil.h) libbtrfsutil_version := $(libbtrfsutil_major).$(libbtrfsutil_minor).$(libbtrfsutil_patch) -libbtrfsutil_objects = libbtrfsutil/errors.o +libbtrfsutil_objects = libbtrfsutil/errors.o libbtrfsutil/filesystem.o \ + libbtrfsutil/subvolume.o libbtrfsutil/qgroup.o \ + libbtrfsutil/stubs.o 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 mkfs/rootdir.o @@ -154,8 +156,10 @@ endif ifeq ($(BUILD_VERBOSE),1) Q = + SETUP_PY_Q = else Q = @ + SETUP_PY_Q = -q endif ifeq ("$(origin D)", "command line") @@ -206,13 +210,12 @@ MAKEOPTS = --no-print-directory Q=$(Q) progs = $(progs_install) btrfsck btrfs-corrupt-block # install only selected -progs_install = btrfs mkfs.btrfs btrfs-debug-tree \ - btrfs-map-logical btrfs-image btrfs-zero-log \ +progs_install = btrfs mkfs.btrfs btrfs-map-logical btrfs-image \ btrfs-find-root btrfstune \ btrfs-select-super # other tools, not built by default -progs_extra = btrfs-fragments btrfs-calc-size btrfs-show-super +progs_extra = btrfs-fragments progs_static = $(foreach p,$(progs),$(p).static) @@ -225,9 +228,6 @@ endif btrfs_convert_cflags = -DBTRFSCONVERT_EXT2=$(BTRFSCONVERT_EXT2) btrfs_convert_cflags += -DBTRFSCONVERT_REISERFS=$(BTRFSCONVERT_REISERFS) 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) @@ -257,6 +257,7 @@ endif static_objects = $(patsubst %.o, %.static.o, $(objects)) static_cmds_objects = $(patsubst %.o, %.static.o, $(cmds_objects)) static_libbtrfs_objects = $(patsubst %.o, %.static.o, $(libbtrfs_objects)) +static_libbtrfsutil_objects = $(patsubst %.o, %.static.o, $(libbtrfsutil_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)) @@ -302,6 +303,9 @@ endif $($(subst -,_,btrfs-$(@:%/$(notdir $@)=%)-cflags)) all: $(progs) $(libs) $(lib_links) $(BUILDDIRS) +ifeq ($(PYTHON_BINDINGS),1) +all: libbtrfsutil_python +endif $(SUBDIRS): $(BUILDDIRS) $(BUILDDIRS): @echo "Making all in $(patsubst build-%,%,$@)" @@ -317,7 +321,7 @@ test-fsck: btrfs btrfs-image btrfs-corrupt-block mkfs.btrfs btrfstune $(Q)bash tests/fsck-tests.sh test-misc: btrfs btrfs-image btrfs-corrupt-block mkfs.btrfs btrfstune fssum \ - btrfs-zero-log btrfs-find-root btrfs-select-super btrfs-convert + btrfs-find-root btrfs-select-super btrfs-convert @echo " [TEST] misc-tests.sh" $(Q)bash tests/misc-tests.sh @@ -349,6 +353,16 @@ testsuite: btrfs-corrupt-block fssum @echo "Export tests as a package" $(Q)cd tests && ./export-testsuite.sh +ifeq ($(PYTHON_BINDINGS),1) +test-libbtrfsutil: libbtrfsutil_python mkfs.btrfs + $(Q)cd libbtrfsutil/python; \ + LD_LIBRARY_PATH=../.. $(PYTHON) -m unittest discover -v tests + +.PHONY: test-libbtrfsutil + +test: test-libbtrfsutil +endif + # # NOTE: For static compiles, you need to have all the required libs # static equivalent available @@ -399,6 +413,15 @@ libbtrfsutil.so.$(libbtrfsutil_major) libbtrfsutil.so: libbtrfsutil.so.$(libbtrf @echo " [LN] $@" $(Q)$(LN_S) -f $< $@ +ifeq ($(PYTHON_BINDINGS),1) +libbtrfsutil_python: libbtrfsutil.so.$(libbtrfsutil_major) libbtrfsutil.so libbtrfsutil/btrfsutil.h + @echo " [PY] libbtrfsutil" + $(Q)cd libbtrfsutil/python; \ + CFLAGS= LDFLAGS= $(PYTHON) setup.py $(SETUP_PY_Q) build_ext -i build + +.PHONY: libbtrfsutil_python +endif + # keep intermediate files from the below implicit rules around .PRECIOUS: $(addsuffix .o,$(progs)) @@ -427,7 +450,7 @@ btrfs: btrfs.o $(objects) $(cmds_objects) $(libs_static) @echo " [LD] $@" $(Q)$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) $(LIBS_COMP) -btrfs.static: btrfs.static.o $(static_objects) $(static_cmds_objects) $(static_libbtrfs_objects) +btrfs.static: btrfs.static.o $(static_objects) $(static_cmds_objects) $(static_libbtrfs_objects) $(static_libbtrfsutil_objects) @echo " [LD] $@" $(Q)$(CC) -o $@ $^ $(STATIC_LDFLAGS) $(STATIC_LIBS) $(STATIC_LIBS_COMP) @@ -559,11 +582,15 @@ manpages: tags: FORCE @echo " [TAGS] $(TAGS_CMD)" - $(Q)$(TAGS_CMD) *.[ch] image/*.[ch] convert/*.[ch] mkfs/*.[ch] + $(Q)$(TAGS_CMD) *.[ch] image/*.[ch] convert/*.[ch] mkfs/*.[ch] \ + check/*.[ch] kernel-lib/*.[ch] kernel-shared/*.[ch] \ + libbtrfsutil/*.[ch] cscope: FORCE @echo " [CSCOPE] $(CSCOPE_CMD)" - $(Q)ls -1 *.[ch] image/*.[ch] convert/*.[ch] mkfs/*.[ch] > cscope.files + $(Q)ls -1 *.[ch] image/*.[ch] convert/*.[ch] mkfs/*.[ch] check/*.[ch] \ + kernel-lib/*.[ch] kernel-shared/*.[ch] libbtrfsutil/*.[ch] \ + > cscope.files $(Q)$(CSCOPE_CMD) clean-all: clean clean-doc clean-gen @@ -582,6 +609,10 @@ clean: $(CLEANDIRS) $(libs) $(lib_links) \ $(progs_static) $(progs_extra) \ libbtrfsutil/*.o libbtrfsutil/*.o.d +ifeq ($(PYTHON_BINDINGS),1) + $(Q)cd libbtrfsutil/python; \ + $(PYTHON) setup.py $(SETUP_PY_Q) clean -a +endif clean-doc: @echo "Cleaning Documentation" @@ -608,7 +639,7 @@ install: $(libs) $(progs_install) $(INSTALLDIRS) $(LN_S) -f btrfs $(DESTDIR)$(bindir)/btrfsck $(INSTALL) -m755 -d $(DESTDIR)$(libdir) $(INSTALL) $(libs) $(DESTDIR)$(libdir) - cp -a $(lib_links) $(DESTDIR)$(libdir) + cp -d $(lib_links) $(DESTDIR)$(libdir) $(INSTALL) -m755 -d $(DESTDIR)$(incdir)/btrfs $(INSTALL) -m644 $(libbtrfs_headers) $(DESTDIR)$(incdir)/btrfs $(INSTALL) -m644 libbtrfsutil/btrfsutil.h $(DESTDIR)$(incdir) @@ -617,6 +648,14 @@ ifneq ($(udevdir),) $(INSTALL) -m644 $(udev_rules) $(DESTDIR)$(udevruledir) endif +ifeq ($(PYTHON_BINDINGS),1) +install_python: libbtrfsutil_python + $(Q)cd libbtrfsutil/python; \ + $(PYTHON) setup.py install --skip-build $(if $(DESTDIR),--root $(DESTDIR)) --prefix $(prefix) + +.PHONY: install_python +endif + install-static: $(progs_static) $(INSTALLDIRS) $(INSTALL) -m755 -d $(DESTDIR)$(bindir) $(INSTALL) $(progs_static) $(DESTDIR)$(bindir)