Created a new directory in tests, make chekc-libqblock will build an executable binrary, make clean will delete it.
Signed-off-by: Wenchao Xia <xiaw...@linux.vnet.ibm.com> --- .gitignore | 1 + Makefile | 1 + tests/Makefile | 3 +++ tests/libqblock/Makefile | 32 ++++++++++++++++++++++++++++++++ tests/libqblock/libqblock-test.c | 4 ++++ 5 files changed, 41 insertions(+), 0 deletions(-) create mode 100644 tests/libqblock/Makefile create mode 100644 tests/libqblock/libqblock-test.c diff --git a/.gitignore b/.gitignore index 824c0d2..eccb637 100644 --- a/.gitignore +++ b/.gitignore @@ -95,3 +95,4 @@ cscope.* tags TAGS *~ +tests/libqblock/*.bin diff --git a/Makefile b/Makefile index b0b9b8d..de8ea17 100644 --- a/Makefile +++ b/Makefile @@ -238,6 +238,7 @@ clean: rm -rf qapi-generated rm -rf qga/qapi-generated $(MAKE) -C tests/tcg clean + $(MAKE) -C tests/libqblock clean for d in $(ALL_SUBDIRS) $(QEMULIBS) libcacard libqblock; do \ if test -d $$d; then $(MAKE) -C $$d $@ || exit 1; fi; \ rm -f $$d/qemu-options.def; \ diff --git a/tests/Makefile b/tests/Makefile index 26a67ce..69af1e2 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -148,4 +148,7 @@ check-unit: $(patsubst %,check-%, $(check-unit-y)) check-block: $(patsubst %,check-%, $(check-block-y)) check: check-unit check-qtest +check-libqblock: + $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C tests/libqblock V="$(V)" TARGET_DIR="$*/" check-libqblock,) + -include $(wildcard tests/*.d) diff --git a/tests/libqblock/Makefile b/tests/libqblock/Makefile new file mode 100644 index 0000000..eb6947b --- /dev/null +++ b/tests/libqblock/Makefile @@ -0,0 +1,32 @@ +-include ../../config-host.mak +-include $(SRC_PATH)/Makefile.objs +-include $(SRC_PATH)/rules.mak + +$(call set-vpath, $(SRC_PATH)) + +#library test case objects +libqblock-test-objs=libqblock-test.lo + +QEMU_CFLAGS+=-I $(SRC_PATH)/$(libqblock-lib-path) +libqblock-la-path = $(SRC_PATH)/$(libqblock-lib-path)/$(libqblock-lib-la) + +########################################################################## +#runtime rules: +ifeq ($(LIBTOOL),) +libqblock-test.bin: + @echo "libtool is missing, please install and rerun configure"; exit 1 +else +libqblock-test.bin: $(libqblock-test-objs) $(libqblock-la-path) + $(call quiet-command,$(LIBTOOL) --mode=link --quiet --tag=CC $(CC) -shared -rpath $(libdir) -o $@ $^," lt LINK $@") +endif + +check-libqblock: + @echo "Building libqblock.la..." + $(call quiet-command,$(MAKE) -C $(SRC_PATH) $(libqblock-lib-la),) + @make libqblock-test.bin + @echo "Executing test binary..." + ./libqblock-test.bin + +clean: + rm -f *.lo *.o *.d *.la *.bin + rm -rf .libs diff --git a/tests/libqblock/libqblock-test.c b/tests/libqblock/libqblock-test.c new file mode 100644 index 0000000..c05c0c4 --- /dev/null +++ b/tests/libqblock/libqblock-test.c @@ -0,0 +1,4 @@ +int main(int argc, char **argv) +{ + return 0; +} -- 1.7.1