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