23
23
SHELL = /bin/sh
24
24
.PHONY : clean, mkdir, install, uninstall, html
25
25
26
+ ifndef release.version
27
+ release.version = 1.0.3
28
+ endif
29
+
30
+ # determine current platform
31
+ BUILD_TYPE ?= debug
32
+ ifeq ($(OS ) ,Windows_NT)
33
+ OSTYPE ?= $(OS)
34
+ MACHINETYPE ?= $(PROCESSOR_ARCHITECTURE)
35
+ else
36
+ OSTYPE ?= $(shell uname -s)
37
+ MACHINETYPE ?= $(shell uname -m)
38
+ build.level = $(shell date)
39
+ endif # OS
40
+ ifeq ($(OSTYPE ) ,linux)
41
+ OSTYPE = Linux
42
+ endif
43
+
26
44
# assume this is normally run in the main Paho directory
27
45
ifndef srcdir
28
46
srcdir = src
@@ -78,19 +96,6 @@ MQTTLIB_CS = paho-mqtt3cs
78
96
MQTTLIB_A = paho-mqtt3a
79
97
MQTTLIB_AS = paho-mqtt3as
80
98
81
- # determine current platform
82
- BUILD_TYPE ?= debug
83
- ifeq ($(OS ) ,Windows_NT)
84
- OSTYPE ?= $(OS)
85
- MACHINETYPE ?= $(PROCESSOR_ARCHITECTURE)
86
- else
87
- OSTYPE ?= $(shell uname -s)
88
- MACHINETYPE ?= $(shell uname -m)
89
- endif # OS
90
- ifeq ($(OSTYPE ) ,linux)
91
- OSTYPE = Linux
92
- endif
93
-
94
99
CC ?= gcc
95
100
96
101
ifndef INSTALL
@@ -121,6 +126,8 @@ LDFLAGS_AS = $(LDFLAGS) -shared $(START_GROUP) -lpthread $(EXTRA_LIB) -lssl -lcr
121
126
122
127
ifeq ($(OSTYPE ) ,Linux)
123
128
129
+ SED_COMMAND = sed -i "s/\# \#MQTTCLIENT_VERSION_TAG\#\#/${release.version}/g; s/\#\#MQTTCLIENT_BUILD_TAG\#\#/${build.level}/g"
130
+
124
131
MQTTCLIENT_INIT = MQTTClient_init
125
132
MQTTASYNC_INIT = MQTTAsync_init
126
133
START_GROUP = -Wl,--start-group
@@ -135,6 +142,8 @@ LDFLAGS_AS += -Wl,-soname,lib${MQTTLIB_AS}.so.${MAJOR_VERSION} -Wl,-no-whole-arc
135
142
136
143
else ifeq ($(OSTYPE),Darwin)
137
144
145
+ SED_COMMAND = sed -i "" -e "s/\# \#MQTTCLIENT_VERSION_TAG\#\#/${release.version}/g" -e "s/\#\#MQTTCLIENT_BUILD_TAG\#\#/${build.level}/g"
146
+
138
147
MQTTCLIENT_INIT = _MQTTClient_init
139
148
MQTTASYNC_INIT = _MQTTAsync_init
140
149
START_GROUP =
@@ -181,21 +190,25 @@ ${ASYNC_SAMPLES}: ${blddir}/samples/%: ${srcdir}/samples/%.c $(MQTTLIB_A_TARGET)
181
190
${CC} -o $@ $< -l${MQTTLIB_A} ${FLAGS_EXE}
182
191
183
192
${MQTTLIB_C_TARGET} : ${SOURCE_FILES_C} ${HEADERS_C}
193
+ $(SED_COMMAND ) $(srcdir ) /MQTTClient.c
184
194
${CC} ${CCFLAGS_SO} -o $@ ${SOURCE_FILES_C} ${LDFLAGS_C}
185
195
-ln -s lib$(MQTTLIB_C ) .so.${VERSION} ${blddir} /lib$(MQTTLIB_C ) .so.${MAJOR_VERSION}
186
196
-ln -s lib$(MQTTLIB_C ) .so.${MAJOR_VERSION} ${blddir} /lib$(MQTTLIB_C ) .so
187
197
188
198
${MQTTLIB_CS_TARGET} : ${SOURCE_FILES_CS} ${HEADERS_C}
199
+ $(SED_COMMAND ) $(srcdir ) /MQTTClient.c
189
200
${CC} ${CCFLAGS_SO} -o $@ ${SOURCE_FILES_CS} -DOPENSSL ${LDFLAGS_CS}
190
201
-ln -s lib$(MQTTLIB_CS ) .so.${VERSION} ${blddir} /lib$(MQTTLIB_CS ) .so.${MAJOR_VERSION}
191
202
-ln -s lib$(MQTTLIB_CS ) .so.${MAJOR_VERSION} ${blddir} /lib$(MQTTLIB_CS ) .so
192
203
193
204
${MQTTLIB_A_TARGET} : ${SOURCE_FILES_A} ${HEADERS_A}
205
+ $(SED_COMMAND ) $(srcdir ) /MQTTAsync.c
194
206
${CC} ${CCFLAGS_SO} -o $@ ${SOURCE_FILES_A} ${LDFLAGS_A}
195
207
-ln -s lib$(MQTTLIB_A ) .so.${VERSION} ${blddir} /lib$(MQTTLIB_A ) .so.${MAJOR_VERSION}
196
208
-ln -s lib$(MQTTLIB_A ) .so.${MAJOR_VERSION} ${blddir} /lib$(MQTTLIB_A ) .so
197
209
198
210
${MQTTLIB_AS_TARGET} : ${SOURCE_FILES_AS} ${HEADERS_A}
211
+ $(SED_COMMAND ) $(srcdir ) /MQTTAsync.c
199
212
${CC} ${CCFLAGS_SO} -o $@ ${SOURCE_FILES_AS} -DOPENSSL ${LDFLAGS_AS}
200
213
-ln -s lib$(MQTTLIB_AS ) .so.${VERSION} ${blddir} /lib$(MQTTLIB_AS ) .so.${MAJOR_VERSION}
201
214
-ln -s lib$(MQTTLIB_AS ) .so.${MAJOR_VERSION} ${blddir} /lib$(MQTTLIB_AS ) .so
0 commit comments