[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH V20 04/10] libqblock: build: add rule for libqblock.
From: |
Wenchao Xia |
Subject: |
[Qemu-devel] [PATCH V20 04/10] libqblock: build: add rule for libqblock.la |
Date: |
Wed, 27 Feb 2013 11:10:12 +0800 |
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 | 30 ++++++++++++++++++++++++++++--
1 files changed, 28 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..4965dd6 100644
--- a/libqblock/Makefile
+++ b/libqblock/Makefile
@@ -1,4 +1,30 @@
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
+# qemu_set_fd_handler2() exist both in iohandler.o and stubs/set-fd-handler.o,
so filter it out.
+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)
+
+all: libqblock.la
+
+#########################################################################
+# Rules for building libqblock standalone library
+
+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 -rf $(libqblock-lobj-y) libqblock.la libqblock/.libs
+
+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
--
1.7.1
- [Qemu-devel] [PATCH V20 00/10] libqblock qemu block layer library, Wenchao Xia, 2013/02/26
- [Qemu-devel] [PATCH V20 01/10] build: add command check-clean, Wenchao Xia, 2013/02/26
- [Qemu-devel] [PATCH V20 03/10] libqblock: build: add configure support, Wenchao Xia, 2013/02/26
- [Qemu-devel] [PATCH V20 02/10] build: hide symbols in *.lo, Wenchao Xia, 2013/02/26
- [Qemu-devel] [PATCH V20 04/10] libqblock: build: add rule for libqblock.la,
Wenchao Xia <=
- [Qemu-devel] [PATCH V20 05/10] libqblock: build: add packaging support, Wenchao Xia, 2013/02/26
- [Qemu-devel] [PATCH V20 06/10] block: export function path_has_protocol(), Wenchao Xia, 2013/02/26
- [Qemu-devel] [PATCH V20 07/10] libqblock: libqblock API design and type defines, Wenchao Xia, 2013/02/26
- [Qemu-devel] [PATCH V20 10/10] libqblock: test: libqblock test example, Wenchao Xia, 2013/02/26
- [Qemu-devel] [PATCH V20 09/10] libqblock: build: add rules for test case, Wenchao Xia, 2013/02/26
- [Qemu-devel] [PATCH V20 08/10] libqblock: libqblock API implement, Wenchao Xia, 2013/02/26