X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=coverage%2Fbin%2FMakefile;h=9ebfa9d789b2a212c244b8b1981fd60db38e693b;hb=216666e45478353333909b6ec35374231ff75af7;hp=19bf254aff8f2521fb3a2362bb15e44d4c604cee;hpb=c98c0d913e3720e61f42d1fabc56a12a73a612ae;p=src%2Fapp-framework-binder.git diff --git a/coverage/bin/Makefile b/coverage/bin/Makefile index 19bf254a..9ebfa9d7 100644 --- a/coverage/bin/Makefile +++ b/coverage/bin/Makefile @@ -4,64 +4,161 @@ heredir = . basedir = ../.. -targets = afb-daemon-cov afb-client hi3.so hello.so salut.so salam.so shalom.so demat.so bug.so hellov2.so +bindings = \ + hi3.so \ + hello.so \ + salut.so \ + salam.so \ + shalom.so \ + demat.so \ + hellov2.so + +bugs = $(foreach i,\ + 1 2 3 4 5 6 7 8 9 \ + 10 11 12 13 14 15 16 17 18 19 \ + 20 21, \ + bugs/bug$i.so) + +tests = \ + test-apiset \ + test-session \ + test-wrap-json + +targets = \ + afb-daemon-nocov \ + afb-daemon-cov \ + afb-client \ + $(tests) \ + $(bindings) \ + $(bugs) binaries: $(targets) clean: - @rm $(targets) *.gcno *.gcda + @echo remove all binaries + @rm $(targets) *.gcno *.gcda *.o 2>/dev/null || true #====================================================================================== -# creates the targets +# definitions #====================================================================================== incdir = $(basedir)/include srcdir = $(basedir)/src +tstdir = $(basedir)/src/tests samdir = $(basedir)/bindings/samples bindir = $(heredir)/bin -cflags = -I$(incdir) \ - $(shell pkg-config --cflags --libs openssl libmicrohttpd json-c libsystemd uuid) \ - -ldl -lrt -lpthread - -afb_lib_src = $(shell ls $(srcdir)/*.c | egrep -v '/afs-|/main-' ) -afb_clib_src = $(shell ls $(srcdir)/*.c | egrep -v '/afs-|/main-' ) - -afb_daemon_srcs = $(srcdir)/main-afb-daemon.c $(afb_lib_src) -afb_daemon_defs = '-DAFB_VERSION="cov"' -DAGL_DEVEL -DWITH_MONITORING_OPTION '-DBINDING_INSTALL_DIR="fake"' - -afb_client_srcs = $(srcdir)/main-afb-client-demo.c $(afb_clib_src) -afb_client_defs = '-DAFB_VERSION="cov"' '-DBINDING_INSTALL_DIR="fake"' +deps = openssl libmicrohttpd json-c libsystemd uuid + +ccflags = \ + -g \ + -I$(incdir) \ + $(shell pkg-config --cflags $(deps)) + +ldflags = -ldl -lrt -lpthread \ + $(shell pkg-config --libs $(deps)) + +cflags = $(ccflags) $(ldflags) + +defs = -DAGL_DEVEL=1 \ + -DWITH_MONITORING_OPTION \ + -DAFB_VERSION=\"cov\" \ + -DUSE_SIG_MONITOR_DUMPSTACK=1 \ + -DUSE_SIG_MONITOR_SIGNALS=1 \ + -DUSE_SIG_MONITOR_FOR_CALL=1 \ + -DUSE_SIG_MONITOR_TIMERS=1 \ + -DWITH_AFB_HOOK=1 \ + -DWITH_AFB_TRACE=1 \ + -DWITH_LEGACY_BINDING_V1=0 \ + -DWITH_LEGACY_BINDING_V2=1 \ + -DWITH_LEGACY_BINDING_VDYN=0 \ + -DWITH_DBUS_TRANSPARENCY=0 \ + -DWITH_SUPERVISION=0 \ + -DWITH_DYNAMIC_BINDING=1 \ + -DINTRINSIC_BINDING_DIR=\"$(shell pwd)/fake\" + +afb_lib_src = $(shell ls $(srcdir)/*.c | egrep -v '/afs-|/main-|/fdev-epoll.c|/afb-ws-client.c' ) +afb_lib_obj = $(patsubst $(srcdir)/%.c,%.o,$(afb_lib_src)) +afb_lib = afb-lib.a +afb_lib_defs = $(defs) + +afb_daemon_srcs = $(srcdir)/main-afb-daemon.c +afb_daemon_defs = $(afb_lib_defs) + +afb_client_srcs = $(srcdir)/main-afb-client-demo.c $(srcdir)/afb-ws-client.c $(afb_lib_src) +afb_client_defs = $(defs) + +tst_defs = $(defs) +tst_flags = $(cflags) \ + -I$(srcdir) \ + $(shell pkg-config --cflags --libs check) + +tst_defs = '-DAFB_VERSION="cov"' '-DINTRINSIC_BINDING_DIR="fake"' +tst_flags = $(cflags) \ + -I$(srcdir) \ + $(shell pkg-config --cflags --libs check) hello2_src = $(samdir)/hello2.c hello3_src = $(samdir)/hello3.c hi_src = $(samdir)/hi3.c binding_flags = -shared -fPIC -Wl,--version-script=$(samdir)/export.map -afb-daemon-cov: $(afb_daemon_srcs) +#====================================================================================== +# creates the targets +#====================================================================================== + +%.o: $(srcdir)/%.c @echo creation of $@ - @gcc -o $@ $(afb_daemon_srcs) --coverage $(afb_daemon_defs) $(cflags) + @gcc -c -o $@ $< --coverage $(afb_lib_defs) $(ccflags) + +afb-daemon-cov: $(afb_daemon_srcs) $(afb_lib_obj) + @echo creation of $@ + @gcc -o $@ $(afb_daemon_srcs) $(afb_lib_obj) --coverage $(afb_daemon_defs) $(cflags) + +afb-daemon-nocov: $(afb_daemon_srcs) $(afb_lib_src) + @echo creation of $@ + @gcc -o $@ $(afb_daemon_srcs) $(afb_lib_src) $(afb_daemon_defs) $(cflags) afb-client: $(afb_client_srcs) @echo creation of $@ @gcc -o $@ $(afb_client_srcs) $(afb_client_defs) $(cflags) +#====================================================================================== +# create test +#====================================================================================== + +test-apiset: $(tstdir)/apiset/test-apiset.c $(afb_lib_obj) + @echo creation of $@ + @gcc -o $@ $(tstdir)/apiset/test-apiset.c $(afb_lib_obj) --coverage $(tst_defs) $(tst_flags) + +test-session: $(tstdir)/session/test-session.c $(afb_lib_obj) + @echo creation of $@ + @gcc -o $@ $(tstdir)/session/test-session.c $(afb_lib_obj) --coverage $(tst_defs) $(tst_flags) + +test-wrap-json: $(tstdir)/session/test-session.c $(afb_lib_obj) + @echo creation of $@ + @gcc -o $@ $(tstdir)/wrap-json/test-wrap-json.c $(afb_lib_obj) --coverage $(tst_defs) $(tst_flags) + +#====================================================================================== +# create bindings +#====================================================================================== + hi3.so: $(hi3_src) @echo creation of $@ @gcc -o $@ $(hi3_src) $(binding_flags) $(cflags) hello.so: $(hello3_src) @echo creation of $@ - @gcc -o $@ $(hello3_src) '-DAPINAME="hello"' $(binding_flags) $(cflags) + @gcc -o $@ $(hello3_src) '-DAPINAME="hello"' '-DPREINIT_PROVIDE_CLASS="class1 class2"' $(binding_flags) $(cflags) salut.so: $(hello3_src) @echo creation of $@ - @gcc -o $@ $(hello3_src) '-DAPINAME="salut"' $(binding_flags) $(cflags) + @gcc -o $@ $(hello3_src) '-DAPINAME="salut"' '-DPREINIT_REQUIRE_CLASS="class2"' $(binding_flags) $(cflags) salam.so: $(hello3_src) @echo creation of $@ - @gcc -o $@ $(hello3_src) '-DAPINAME="salam"' $(binding_flags) $(cflags) + @gcc -o $@ $(hello3_src) '-DAPINAME="salam"' '-DINIT_REQUIRE_API="hello salut"' $(binding_flags) $(cflags) shalom.so: $(hello3_src) @echo creation of $@ @@ -75,7 +172,14 @@ hellov2.so: $(hello2_src) @echo creation of $@ @gcc -o $@ $(hello2_src) '-DAPINAME="hello-v2"' $(binding_flags) $(cflags) -bug.so: bug.c - @echo creation of $@ - @gcc -o $@ bug.c $(binding_flags) $(cflags) +#====================================================================================== +# create bugs +#====================================================================================== + +bugs: + @echo creation of directory bugs + @mkdir bugs +bugs/bug%.so: bug.c bugs + @echo creation of $@ + @gcc -o $@ bug.c $(binding_flags) $(cflags) -D$(patsubst bugs/bug%.so,BUG%,$@)