all:canTransmit

#CC = aarch64-linux-gnu-gcc
CFLAGS = -g -Wall -IpxTool
srcs:=$(wildcard *.c)
srcs+=$(wildcard ./mqtt/*.c)
srcs:=$(filter-out ./mqtt/MQTTVersion.c, $(srcs))
srcs:=$(filter-out ./mqtt/MQTTClient.c, $(srcs))

srcs+=$(wildcard ./pxTool/*.c)
objects:=$(patsubst %c,%o,$(srcs))

SED_COMMAND = sed \
    -e "s/@CLIENT_VERSION@/1.1.1/g" \
    -e "s/@BUILD_TIMESTAMP@/$(shell date)/g"

./mqtt/VersionInfo.h:./mqtt/VersionInfo.h.in
	$(SED_COMMAND) $< > $@
	echo "sed done"

PXSED_COMMAND = sed \
    -e "s/@PXVERSION@/1.0.0/g" \
    -e "s/@PXBUILDTIME@/$(shell date +'%Y-%-m-%-d %H:%M:%S')/g"

./pxTool/pxVersion.h:./pxTool/pxVersion.h.in
	$(PXSED_COMMAND) $< > $@

canTransmit:./mqtt/VersionInfo.h ./pxTool/pxVersion.h $(objects) 
	$(CC) $(objects) -o canTransmit -lpthread -ldl -lm -lssl -lcrypto

clean:
	rm ./*.o ./pxTool/*.o ./pxTool/pxVersion.h ./mqtt/*.o