87
87
OSTYPE ?= $(shell uname -s)
88
88
MACHINETYPE ?= $(shell uname -m)
89
89
endif # OS
90
+ ifeq ($(OSTYPE ) ,linux)
91
+ OSTYPE = Linux
92
+ endif
90
93
91
94
CC ?= gcc
92
95
@@ -109,30 +112,42 @@ MQTTVERSION_TARGET = ${blddir}/MQTTVersion
109
112
110
113
CCFLAGS_SO = -g -fPIC $(CFLAGS ) -Os -Wall -fvisibility=hidden
111
114
FLAGS_EXE = $(LDFLAGS ) -I ${srcdir} -lpthread -L ${blddir}
112
- FLAGS_EXES = $(LDFLAGS ) -I ${srcdir} -Wl,--start-group -lpthread -lssl -lcrypto -Wl,--end-group -L ${blddir}
113
- LDFLAGS_C = $(LDFLAGS ) -shared -Wl,-init,MQTTClient_init -lpthread
114
- LDFLAGS_CS = $(LDFLAGS ) -shared -Wl,--start-group -lpthread $(EXTRA_LIB ) -lssl -lcrypto -Wl,--end-group -Wl,-init,MQTTClient_init
115
- LDFLAGS_A = $(LDFLAGS ) -shared -Wl,-init,MQTTAsync_init -lpthread
116
- LDFLAGS_AS = $(LDFLAGS ) -shared -Wl,--start-group -lpthread $(EXTRA_LIB ) -lssl -lcrypto -Wl,--end-group -Wl,-init,MQTTAsync_init
115
+ FLAGS_EXES = $(LDFLAGS ) -I ${srcdir} ${START_GROUP} -lpthread -lssl -lcrypto ${END_GROUP} -L ${blddir}
116
+
117
+ LDFLAGS_C = $(LDFLAGS ) -shared -Wl,-init,$(MQTTCLIENT_INIT ) -lpthread
118
+ LDFLAGS_CS = $(LDFLAGS ) -shared $(START_GROUP ) -lpthread $(EXTRA_LIB ) -lssl -lcrypto $(END_GROUP ) -Wl,-init,$(MQTTCLIENT_INIT )
119
+ LDFLAGS_A = $(LDFLAGS ) -shared -Wl,-init,$(MQTTASYNC_INIT ) -lpthread
120
+ LDFLAGS_AS = $(LDFLAGS ) -shared $(START_GROUP ) -lpthread $(EXTRA_LIB ) -lssl -lcrypto $(END_GROUP ) -Wl,-init,$(MQTTASYNC_INIT )
117
121
118
122
ifeq ($(OSTYPE ) ,Linux)
119
123
124
+ MQTTCLIENT_INIT = MQTTClient_init
125
+ MQTTASYNC_INIT = MQTTAsync_init
126
+ START_GROUP = -Wl,--start-group
127
+ END_GROUP = -Wl,--end-group
128
+
129
+ EXTRA_LIB = -ldl
130
+
120
131
LDFLAGS_C += -Wl,-soname,lib$(MQTTLIB_C ) .so.${MAJOR_VERSION}
121
132
LDFLAGS_CS += -Wl,-soname,lib$(MQTTLIB_CS ) .so.${MAJOR_VERSION} -Wl,-no-whole-archive
122
133
LDFLAGS_A += -Wl,-soname,lib${MQTTLIB_A}.so.${MAJOR_VERSION}
123
134
LDFLAGS_AS += -Wl,-soname,lib${MQTTLIB_AS}.so.${MAJOR_VERSION} -Wl,-no-whole-archive
124
135
125
- EXTRA_LIB =
126
-
127
136
else ifeq ($(OSTYPE),Darwin)
128
137
138
+ MQTTCLIENT_INIT = _MQTTClient_init
139
+ MQTTASYNC_INIT = _MQTTAsync_init
140
+ START_GROUP =
141
+ END_GROUP =
142
+
143
+ EXTRA_LIB = -ldl
144
+
129
145
CCFLAGS_SO += -Wno-deprecated-declarations -DUSE_NAMED_SEMAPHORES
130
146
LDFLAGS_C += -Wl,-install_name,lib$(MQTTLIB_C ) .so.${MAJOR_VERSION}
131
147
LDFLAGS_CS += -Wl,-install_name,lib$(MQTTLIB_CS ) .so.${MAJOR_VERSION}
132
148
LDFLAGS_A += -Wl,-install_name,lib${MQTTLIB_A}.so.${MAJOR_VERSION}
133
149
LDFLAGS_AS += -Wl,-install_name,lib${MQTTLIB_AS}.so.${MAJOR_VERSION}
134
150
135
- EXTRA_LIB = -ld
136
151
endif
137
152
138
153
all : build
@@ -145,6 +160,7 @@ clean:
145
160
mkdir :
146
161
-mkdir -p ${blddir} /samples
147
162
-mkdir -p ${blddir} /test
163
+ echo OSTYPE is $(OSTYPE )
148
164
149
165
${SYNC_TESTS} : ${blddir}/test/% : ${srcdir}/../test/% .c $(MQTTLIB_C_TARGET )
150
166
${CC} -g -o $@ $< -l${MQTTLIB_C} ${FLAGS_EXE}
0 commit comments