[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH V16 3/9] libqblock: build: add rule for libqbloc
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH V16 3/9] libqblock: build: add rule for libqblock.la |
Date: |
Tue, 29 Jan 2013 13:37:21 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 |
Il 29/01/2013 05:51, Wenchao Xia ha scritto:
> Now libqblock.la can be built with neccessary object files,
> and can be automatically cleaned by make clean in root directory.
> make libqblock-clean also clean it. -fvisibility=hidden was used
> to hide symbols, and a special macro was introduced to export
> symbols that marked as public.
>
> Signed-off-by: Wenchao Xia <address@hidden>
> ---
> libqblock/Makefile | 32 ++++++++++++++++++++++++++++++--
> 1 files changed, 30 insertions(+), 2 deletions(-)
> create mode 100644 libqblock/libqblock-error.c
> create mode 100644 libqblock/libqblock.c
>
> diff --git a/libqblock/Makefile b/libqblock/Makefile
> index 8173da7..73974e9 100644
> --- a/libqblock/Makefile
> +++ b/libqblock/Makefile
> @@ -1,4 +1,32 @@
> all: libqblock.la
>
> -libqblock.la:
> - @true
> +# objects linked into a shared library, built with libtool with -fPIC if
> required
> +libqblock-obj-y = libqblock/libqblock.o libqblock/libqblock-error.o
> +libqblock-obj-y += $(filter-out stubs/set-fd-handler.o, $(stub-obj-y))
> +libqblock-obj-y += $(util-obj-y) $(block-obj-y)
> +
> +libqblock-lobj-y=$(patsubst %.o, %.lo, $(libqblock-obj-y))
> +
> +# libtool will build the .o files, too
> +$(libqblock-obj-y): | $(libqblock-lobj-y)
> +
> +LIBQBLOCK_CLEAN_TARGETS=$(libqblock-lobj-y) libqblock.la libqblock/.libs
Please inline this into its sole user.
I'm not a fan of empty files, so I'd squash patches 3..7 together for
the final commit, but for review it's ok.
> +
> +all: libqblock.la
> +
> +#########################################################################
> +# Rules for building libqblock standalone library
> +
> +$(libqblock-lobj-y): QEMU_CFLAGS+= -fvisibility=hidden -D LIBQB_BUILD
> +libqblock.la: LDFLAGS += -rpath $(libdir) -no-undefined \
> + -export-syms $(SRC_PATH)/libqblock/libqblock.syms
> +libqblock.la: $(libqblock-lobj-y)
> + $(call LINK,$^)
> +
> +
> +.PHONY: libqblock-clean
> +
> +libqblock-clean:
> + rm $(LIBQBLOCK_CLEAN_TARGETS) -rf
rm -rf $(libqblock-lobj-y) etc.
> +
> +clean: libqblock-clean
> diff --git a/libqblock/libqblock-error.c b/libqblock/libqblock-error.c
> new file mode 100644
> index 0000000..e69de29
> diff --git a/libqblock/libqblock.c b/libqblock/libqblock.c
> new file mode 100644
> index 0000000..e69de29
>
- [Qemu-devel] [PATCH V16 0/9] libqblock qemu block layer library, Wenchao Xia, 2013/01/28
- [Qemu-devel] [PATCH V16 1/9] build: add command check-clean, Wenchao Xia, 2013/01/28
- [Qemu-devel] [PATCH V16 2/9] libqblock: build: add configure support, Wenchao Xia, 2013/01/28
- [Qemu-devel] [PATCH V16 3/9] libqblock: build: add rule for libqblock.la, Wenchao Xia, 2013/01/28
- Re: [Qemu-devel] [PATCH V16 3/9] libqblock: build: add rule for libqblock.la,
Paolo Bonzini <=
- [Qemu-devel] [PATCH V16 4/9] libqblock: build: add packaging support, Wenchao Xia, 2013/01/28
- [Qemu-devel] [PATCH V16 5/9] block: export function path_has_protocol(), Wenchao Xia, 2013/01/28
- [Qemu-devel] [PATCH V16 7/9] libqblock: libqblock API implement, Wenchao Xia, 2013/01/28
- [Qemu-devel] [PATCH V16 8/9] libqblock: build: add rules for test case, Wenchao Xia, 2013/01/28
- [Qemu-devel] [PATCH V16 9/9] libqblock: test: libqblock test example, Wenchao Xia, 2013/01/28
- [Qemu-devel] [PATCH V16 6/9] libqblock: libqblock API design and type defines, Wenchao Xia, 2013/01/28