Makefile 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. include ../../config.mk
  2. .PHONY: all check test test-broker test-lib clean coverage
  3. CPPFLAGS:=$(CPPFLAGS) -I../.. -I../../include -I../../lib -I../../src
  4. ifeq ($(WITH_BUNDLED_DEPS),yes)
  5. CPPFLAGS:=$(CPPFLAGS) -I../../deps
  6. endif
  7. CFLAGS:=$(CFLAGS) -coverage -Wall -ggdb
  8. LDFLAGS:=$(LDFLAGS) -coverage
  9. LDADD:=$(LDADD) -lcunit
  10. TEST_OBJS = test.o \
  11. datatype_read.o \
  12. datatype_write.o \
  13. misc_trim_test.o \
  14. property_add.o \
  15. property_read.o \
  16. property_user_read.o \
  17. property_write.o \
  18. stubs.o \
  19. util_topic_test.o \
  20. utf8.o
  21. LIB_OBJS = memory_mosq.o \
  22. memory_public.o \
  23. misc_mosq.o \
  24. packet_datatypes.o \
  25. property_mosq.o \
  26. util_mosq.o \
  27. util_topic.o \
  28. utf8_mosq.o
  29. BRIDGE_TOPIC_TEST_OBJS = \
  30. bridge_topic_test.o \
  31. stubs.o \
  32. BRIDGE_TOPIC_OBJS = \
  33. bridge_topic.o \
  34. memory_mosq.o \
  35. memory_public.o \
  36. util_topic.o \
  37. PERSIST_READ_TEST_OBJS = \
  38. persist_read_test.o \
  39. persist_read_stubs.o
  40. PERSIST_READ_OBJS = \
  41. memory_mosq.o \
  42. memory_public.o \
  43. misc_mosq.o \
  44. packet_datatypes.o \
  45. persist_read.o \
  46. persist_read_v234.o \
  47. persist_read_v5.o \
  48. property_mosq.o \
  49. retain.o \
  50. topic_tok.o \
  51. utf8_mosq.o \
  52. util_mosq.o
  53. PERSIST_WRITE_TEST_OBJS = \
  54. persist_write_test.o \
  55. persist_write_stubs.o
  56. PERSIST_WRITE_OBJS = \
  57. database.o \
  58. memory_mosq.o \
  59. memory_public.o \
  60. misc_mosq.o \
  61. packet_datatypes.o \
  62. persist_read.o \
  63. persist_read_v234.o \
  64. persist_read_v5.o \
  65. persist_write.o \
  66. persist_write_v5.o \
  67. property_mosq.o \
  68. retain.o \
  69. subs.o \
  70. topic_tok.o \
  71. utf8_mosq.o \
  72. util_mosq.o
  73. SUBS_TEST_OBJS = \
  74. subs_test.o \
  75. subs_stubs.o
  76. SUBS_OBJS = \
  77. database.o \
  78. memory_mosq.o \
  79. memory_public.o \
  80. subs.o \
  81. topic_tok.o
  82. all : test
  83. check : test
  84. mosq_test : ${TEST_OBJS} ${LIB_OBJS}
  85. $(CROSS_COMPILE)$(CC) $(LDFLAGS) -o $@ $^ $(LDADD)
  86. bridge_topic_test : ${BRIDGE_TOPIC_TEST_OBJS} ${BRIDGE_TOPIC_OBJS}
  87. $(CROSS_COMPILE)$(CC) $(LDFLAGS) -o $@ $^ $(LDADD)
  88. persist_read_test : ${PERSIST_READ_TEST_OBJS} ${PERSIST_READ_OBJS}
  89. $(CROSS_COMPILE)$(CC) $(LDFLAGS) -o $@ $^ $(LDADD)
  90. persist_write_test : ${PERSIST_WRITE_TEST_OBJS} ${PERSIST_WRITE_OBJS}
  91. $(CROSS_COMPILE)$(CC) $(LDFLAGS) -o $@ $^ $(LDADD)
  92. subs_test : ${SUBS_TEST_OBJS} ${SUBS_OBJS}
  93. $(CROSS_COMPILE)$(CC) $(LDFLAGS) -o $@ $^ $(LDADD)
  94. bridge_topic.o : ../../src/bridge_topic.c
  95. $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) -DWITH_BROKER -DWITH_BRIDGE -c -o $@ $^
  96. database.o : ../../src/database.c
  97. $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) -DWITH_BROKER -DWITH_PERSISTENCE -c -o $@ $^
  98. memory_mosq.o : ../../lib/memory_mosq.c
  99. $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $^
  100. memory_public.o : ../../src/memory_public.c
  101. $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $^
  102. misc_mosq.o : ../../lib/misc_mosq.c
  103. $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $^
  104. packet_datatypes.o : ../../lib/packet_datatypes.c
  105. $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $^
  106. persist_read.o : ../../src/persist_read.c
  107. $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) -DWITH_BROKER -DWITH_PERSISTENCE -c -o $@ $^
  108. persist_read_v234.o : ../../src/persist_read_v234.c
  109. $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) -DWITH_BROKER -DWITH_PERSISTENCE -c -o $@ $^
  110. persist_read_v5.o : ../../src/persist_read_v5.c
  111. $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) -DWITH_BROKER -DWITH_PERSISTENCE -c -o $@ $^
  112. persist_write.o : ../../src/persist_write.c
  113. $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) -DWITH_BROKER -DWITH_PERSISTENCE -c -o $@ $^
  114. persist_write_v5.o : ../../src/persist_write_v5.c
  115. $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) -DWITH_BROKER -DWITH_PERSISTENCE -c -o $@ $^
  116. property_mosq.o : ../../lib/property_mosq.c
  117. $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $^
  118. retain.o : ../../src/retain.c
  119. $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) -DWITH_BROKER -DWITH_PERSISTENCE -c -o $@ $^
  120. subs.o : ../../src/subs.c
  121. $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) -DWITH_BROKER -DWITH_PERSISTENCE -c -o $@ $^
  122. topic_tok.o : ../../src/topic_tok.c
  123. $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) -DWITH_BROKER -DWITH_PERSISTENCE -c -o $@ $^
  124. util_mosq.o : ../../lib/util_mosq.c
  125. $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $^
  126. util_topic.o : ../../lib/util_topic.c
  127. $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $^
  128. utf8_mosq.o : ../../lib/utf8_mosq.c
  129. $(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $^
  130. build : mosq_test bridge_topic_test persist_read_test persist_write_test subs_test
  131. test-lib : build
  132. ./mosq_test
  133. test-broker : build
  134. ./bridge_topic_test
  135. ./persist_read_test
  136. ./persist_write_test
  137. ./subs_test
  138. test : test-broker test-lib
  139. clean :
  140. -rm -rf mosq_test bridge_topic_test persist_read_test persist_write_test
  141. -rm -rf *.o *.gcda *.gcno coverage.info out/
  142. coverage :
  143. lcov --capture --directory . --output-file coverage.info
  144. genhtml coverage.info --output-directory out