From 9ae5259c592406577656b8432c4aa2e86ea2a7f6 Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Thu, 20 Nov 2025 15:18:15 +0800
Subject: [PATCH] Add generate deb package support

---
 project/lightd/makefile |   36 ++++++++++++++++++++++++------------
 1 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/project/lightd/makefile b/project/lightd/makefile
index 3797387..e56ef2f 100644
--- a/project/lightd/makefile
+++ b/project/lightd/makefile
@@ -12,7 +12,9 @@
 #*******************************************************************************
 
 PRJ_PATH=$(shell pwd)
-APP_NAME = iotd
+APP_NAME=$(shell basename ${PRJ_PATH})
+DEB_NAME=${APP_NAME}.deb
+DEB_PATH=${PRJ_PATH}/deb
 
 BUILD_ARCH=$(shell uname -m)
 ifneq ($(findstring $(BUILD_ARCH), "x86_64" "i386"),)
@@ -25,8 +27,8 @@
 # common CFLAGS for our source code
 CFLAGS = -Wall -Wshadow -Wundef -Wmaybe-uninitialized -D_GNU_SOURCE
 
-# sub-directory compiled to a library and need to link
-SRCS=src hal booster
+# C source file in sub-directory
+SRCS=booster hal
 SRCS_PATH=$(patsubst %,${PRJ_PATH}/%,$(SRCS))
 CFLAGS+=$(patsubst %,-I%,$(SRCS_PATH))
 LDFLAGS+=$(patsubst %,-L%,$(SRCS_PATH))
@@ -34,31 +36,41 @@
 LDFLAGS+=${LIBS}
 
 # Open source libraries
-LDFLAGS+=-lmosquitto -lgpiod -lcjson -lm
+CFLAGS+=-I ${PRJ_PATH}/openlibs/install/include
+LDFLAGS+=-L ${PRJ_PATH}/openlibs/install/lib
 
-# sub-directory need to entry and compile
-SUBDIR=${SRCS}
+# libraries
+libs=openlibs ${SRCS}
+LDFLAGS+=-lmosquitto -lcjson -lssl -lcrypto -lgpiod -lm
+
+LDFLAGS+=-lpthread
 
 all: entry subdir
-	${CROSS_COMPILE}gcc ${CFLAGS} main.c -o ${APP_NAME} ${LDFLAGS}
+	${CROSS_COMPILE}gcc ${CFLAGS} ${SRCFILES} -o ${APP_NAME} ${LDFLAGS}
+	@make gendeb
 
 entry:
 	@echo "Building ${APP_NAME} on ${BUILD_ARCH}"
 
 subdir:
-	@for dir in ${SUBDIR} ; do if [ ! -e $${dir} ] ; then ln -s ../$${dir}; fi; done
-	@for dir in ${SUBDIR} ;  do make CFLAGS="${CFLAGS}" -C $${dir} ; done
+	@for dir in ${libs} ; do if [ ! -e $${dir} ] ; then ln -s ../$${dir}; fi; done
+	@for dir in ${libs} ;  do CFLAGS="${CFLAGS}" make -C $${dir} ; done
+
+gendeb:
+	@ if [ ! -L ${DEB_PATH} ]; then ln -s ../deb ${DEB_PATH}; fi
+	@make -C ${DEB_PATH} APP_NAME=${APP_NAME}
 
 install:
-	cp ${APP_NAME} /tftp
+	cp ${APP_NAME} ${DEB_PATH}/${DEB_NAME} /tftp
 
 clean:
 	@for dir in ${SRCS} ; do if [ -e $${dir} ] ; then make clean -C $${dir}; fi; done
+	@make clean -C ${DEB_PATH} APP_NAME=${APP_NAME}
 	@rm -f ${APP_NAME}
 
 distclean:
-	@for dir in ${SUBDIR} ; do if [ -e $${dir} ] ; then make clean -C $${dir}; fi; done
+	@for dir in ${libs} ; do if [ -e $${dir} ] ; then make clean -C $${dir}; fi; done
+	@for dir in ${libs} ; do if [ -L $${dir} ] ; then unlink $${dir}; fi; done
 	@rm -f ${APP_NAME}
 	@rm -f cscope.* tags
-	@rm -f *.log *.db
 

--
Gitblit v1.9.1