diff --git a/lib/Makefile b/lib/Makefile index f49076f3..d2d6643c 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -1,37 +1,8 @@ include ../config.mk +include objects.mk .PHONY : really clean install -MOSQ_OBJS=mosquitto.o \ - handle_connack.o \ - handle_ping.o \ - handle_pubackcomp.o \ - handle_publish.o \ - handle_pubrec.o \ - handle_pubrel.o \ - handle_suback.o \ - handle_unsuback.o \ - helpers.o \ - logging_mosq.o \ - memory_mosq.o \ - messages_mosq.o \ - net_mosq.o \ - packet_mosq.o \ - read_handle.o \ - send_connect.o \ - send_disconnect.o \ - send_mosq.o \ - send_publish.o \ - send_subscribe.o \ - send_unsubscribe.o \ - socks_mosq.o \ - srv_mosq.o \ - thread_mosq.o \ - time_mosq.o \ - tls_mosq.o \ - util_mosq.o \ - will_mosq.o - all : libmosquitto.so.${SOVERSION} libmosquitto.a $(MAKE) -C cpp @@ -57,10 +28,10 @@ clean : -rm -f *.o libmosquitto.so.${SOVERSION} libmosquitto.so libmosquitto.a $(MAKE) -C cpp clean -libmosquitto.so.${SOVERSION} : ${MOSQ_OBJS} +libmosquitto.so.${SOVERSION} : ${MOSQ_C_OBJS} ${CROSS_COMPILE}$(CC) -shared $(LIB_LDFLAGS) $^ -o $@ ${LIB_LIBS} -libmosquitto.a : ${MOSQ_OBJS} +libmosquitto.a : ${MOSQ_C_OBJS} ${CROSS_COMPILE}$(AR) cr $@ $^ mosquitto.o : mosquitto.c mosquitto.h diff --git a/lib/cpp/Makefile b/lib/cpp/Makefile index 8b627d32..c8ce0050 100644 --- a/lib/cpp/Makefile +++ b/lib/cpp/Makefile @@ -1,4 +1,5 @@ include ../../config.mk +include ../objects.mk ifneq ($(UNAME),SunOS) LIB_LDFLAGS:=$(LDFLAGS) -Wl,-soname,libmosquittopp.so.${SOVERSION} @@ -6,26 +7,32 @@ endif .PHONY : clean install -all : libmosquittopp.so.${SOVERSION} +all : libmosquittopp.so.${SOVERSION} libmosquittopp.a install : all $(INSTALL) -d ${DESTDIR}$(prefix)/lib${LIB_SUFFIX}/ $(INSTALL) -s --strip-program=${CROSS_COMPILE}${STRIP} libmosquittopp.so.${SOVERSION} ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquittopp.so.${SOVERSION} ln -sf libmosquittopp.so.${SOVERSION} ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquittopp.so + $(INSTALL) libmosquittopp.a ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquittopp.a + ${CROSS_COMPILE}${STRIP} -g --strip-unneeded ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquittopp.a $(INSTALL) -d ${DESTDIR}${prefix}/include/ $(INSTALL) mosquittopp.h ${DESTDIR}${prefix}/include/mosquittopp.h uninstall : -rm -f ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquittopp.so.${SOVERSION} -rm -f ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquittopp.so + -rm -f ${DESTDIR}${prefix}/lib${LIB_SUFFIX}/libmosquittopp.a -rm -f ${DESTDIR}${prefix}/include/mosquittopp.h clean : - -rm -f *.o libmosquittopp.so.${SOVERSION} + -rm -f *.o libmosquittopp.so.${SOVERSION} libmosquittopp.a libmosquittopp.so.${SOVERSION} : mosquittopp.o ${CROSS_COMPILE}$(CXX) -shared $(LIB_LDFLAGS) $< -o $@ ../libmosquitto.so.${SOVERSION} +libmosquittopp.a : mosquittopp.o ${MOSQ_C_OBJS} + ${CROSS_COMPILE}$(AR) cr $@ $^ + mosquittopp.o : mosquittopp.cpp mosquittopp.h ${CROSS_COMPILE}$(CXX) $(LIB_CXXFLAGS) -c $< -o $@ diff --git a/lib/objects.mk b/lib/objects.mk new file mode 100644 index 00000000..734865cc --- /dev/null +++ b/lib/objects.mk @@ -0,0 +1,32 @@ +MOSQ_C_OBJ_NAMES=mosquitto.o \ + handle_connack.o \ + handle_ping.o \ + handle_pubackcomp.o \ + handle_publish.o \ + handle_pubrec.o \ + handle_pubrel.o \ + handle_suback.o \ + handle_unsuback.o \ + helpers.o \ + logging_mosq.o \ + memory_mosq.o \ + messages_mosq.o \ + net_mosq.o \ + packet_mosq.o \ + read_handle.o \ + send_connect.o \ + send_disconnect.o \ + send_mosq.o \ + send_publish.o \ + send_subscribe.o \ + send_unsubscribe.o \ + socks_mosq.o \ + srv_mosq.o \ + thread_mosq.o \ + time_mosq.o \ + tls_mosq.o \ + util_mosq.o \ + will_mosq.o + +CURDIR=$(dir $(lastword $(MAKEFILE_LIST))) +MOSQ_C_OBJS=$(addprefix $(CURDIR), $(MOSQ_C_OBJ_NAMES))