Makefile 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. include ../config.mk
  2. .PHONY: all install uninstall reallyclean clean static static_pub static_sub static_rr
  3. ifeq ($(WITH_SHARED_LIBRARIES),yes)
  4. SHARED_DEP:=../lib/libmosquitto.so.${SOVERSION}
  5. endif
  6. ifeq ($(WITH_SHARED_LIBRARIES),yes)
  7. ALL_DEPS:= mosquitto_pub mosquitto_sub mosquitto_rr
  8. else
  9. ifeq ($(WITH_STATIC_LIBRARIES),yes)
  10. ALL_DEPS:= static_pub static_sub static_rr
  11. endif
  12. endif
  13. all : ${ALL_DEPS}
  14. static : static_pub static_sub static_rr
  15. # This makes mosquitto_pub/sub/rr versions that are statically linked with
  16. # libmosquitto only.
  17. static_pub : pub_client.o pub_shared.o client_props.o client_shared.o ../lib/libmosquitto.a
  18. ${CROSS_COMPILE}${CC} $^ -o mosquitto_pub ${CLIENT_LDFLAGS} ${STATIC_LIB_DEPS} ${CLIENT_STATIC_LDADD}
  19. static_sub : sub_client.o sub_client_output.o client_props.o client_shared.o ../lib/libmosquitto.a
  20. ${CROSS_COMPILE}${CC} $^ -o mosquitto_sub ${CLIENT_LDFLAGS} ${STATIC_LIB_DEPS} ${CLIENT_STATIC_LDADD}
  21. static_rr : rr_client.o client_props.o client_shared.o pub_shared.o sub_client_output.o ../lib/libmosquitto.a
  22. ${CROSS_COMPILE}${CC} $^ -o mosquitto_rr ${CLIENT_LDFLAGS} ${STATIC_LIB_DEPS} ${CLIENT_STATIC_LDADD}
  23. mosquitto_pub : pub_client.o pub_shared.o client_shared.o client_props.o
  24. ${CROSS_COMPILE}${CC} $(CLIENT_LDFLAGS) $^ -o $@ $(CLIENT_LDADD)
  25. mosquitto_sub : sub_client.o sub_client_output.o client_shared.o client_props.o
  26. ${CROSS_COMPILE}${CC} $(CLIENT_LDFLAGS) $^ -o $@ $(CLIENT_LDADD)
  27. mosquitto_rr : rr_client.o client_shared.o client_props.o pub_shared.o sub_client_output.o
  28. ${CROSS_COMPILE}${CC} $(CLIENT_LDFLAGS) $^ -o $@ $(CLIENT_LDADD)
  29. pub_client.o : pub_client.c ${SHARED_DEP}
  30. ${CROSS_COMPILE}${CC} $(CLIENT_CPPFLAGS) $(CLIENT_CFLAGS) -c $< -o $@
  31. pub_shared.o : pub_shared.c ${SHARED_DEP}
  32. ${CROSS_COMPILE}${CC} $(CLIENT_CPPFLAGS) $(CLIENT_CFLAGS) -c $< -o $@
  33. sub_client.o : sub_client.c ${SHARED_DEP}
  34. ${CROSS_COMPILE}${CC} $(CLIENT_CPPFLAGS) $(CLIENT_CFLAGS) -c $< -o $@
  35. sub_client_output.o : sub_client_output.c sub_client_output.h ${SHARED_DEP}
  36. ${CROSS_COMPILE}${CC} $(CLIENT_CPPFLAGS) $(CLIENT_CFLAGS) -c $< -o $@
  37. rr_client.o : rr_client.c ${SHARED_DEP}
  38. ${CROSS_COMPILE}${CC} $(CLIENT_CPPFLAGS) $(CLIENT_CFLAGS) -c $< -o $@
  39. client_shared.o : client_shared.c client_shared.h
  40. ${CROSS_COMPILE}${CC} $(CLIENT_CPPFLAGS) $(CLIENT_CFLAGS) -c $< -o $@
  41. client_props.o : client_props.c client_shared.h
  42. ${CROSS_COMPILE}${CC} $(CLIENT_CPPFLAGS) $(CLIENT_CFLAGS) -c $< -o $@
  43. # The "testing" target is intended to make it easy to compile a quick client
  44. # for testing purposes. testing.c should not be committed as a file.
  45. testing : testing.o
  46. ${CROSS_COMPILE}${CC} $(CLIENT_LDFLAGS) $^ -o $@ $(CLIENT_LDADD) $(CLIENT_LDFLAGS)
  47. testing.o : testing.c
  48. ${CROSS_COMPILE}${CC} $(CLIENT_CPPFLAGS) $(CLIENT_CFLAGS) -c $< -o $@
  49. ../lib/libmosquitto.so.${SOVERSION} :
  50. $(MAKE) -C ../lib
  51. ../lib/libmosquitto.a :
  52. $(MAKE) -C ../lib libmosquitto.a
  53. install : all
  54. $(INSTALL) -d "${DESTDIR}$(prefix)/bin"
  55. $(INSTALL) ${STRIP_OPTS} mosquitto_pub "${DESTDIR}${prefix}/bin/mosquitto_pub"
  56. $(INSTALL) ${STRIP_OPTS} mosquitto_sub "${DESTDIR}${prefix}/bin/mosquitto_sub"
  57. $(INSTALL) ${STRIP_OPTS} mosquitto_rr "${DESTDIR}${prefix}/bin/mosquitto_rr"
  58. uninstall :
  59. -rm -f "${DESTDIR}${prefix}/bin/mosquitto_pub"
  60. -rm -f "${DESTDIR}${prefix}/bin/mosquitto_sub"
  61. -rm -f "${DESTDIR}${prefix}/bin/mosquitto_rr"
  62. reallyclean : clean
  63. clean :
  64. -rm -f *.o mosquitto_pub mosquitto_sub mosquitto_rr *.gcda *.gcno