fix: makefile renew

This commit is contained in:
zhangsz
2025-03-04 11:29:37 +08:00
parent dae6fc93f7
commit 5ee8bed99c
29 changed files with 1328 additions and 22 deletions

3
.gitignore vendored
View File

@@ -75,3 +75,6 @@ dkms.conf
# Go workspace file # Go workspace file
go.work go.work
# directory
bin
tmp

58
include/Makefile.backup Normal file
View File

@@ -0,0 +1,58 @@
##----------------------------------------------------------##
## ##
## Universal Makefile Backup Function ##
## ##
## Created : Wei Liu 07/06/20 ##
## Revision: [Last]Wei Liu 07/07/07 ##
## ##
##----------------------------------------------------------##
##--------------------------------------
##
## Make backup
##
##--------------------------------------
# backup
TIME_STR = ${shell date +%y%m%d_%H%M%S}
VER_STR = $(sed -n '/$(MODULE)_VERSION/'p ./src/include/$(MODULE).h | \
awk -F '[{,}]' $(print $2 $3 $4 ) )
BACK_PATH := ../../../r9_bak
BACK_PATH := $(BACK_PATH)/$(TYPE)/$(MODULE)
BACK_NAME = $(MODULE)_$(VER_STR)_$(TIME_STR).tgz
LS = ls -tl
version:
@echo $(VER_STR)
backfile ?= *
ifeq "$(backfile)" "*"
backfile =$(wildcard $(BACK_PATH)/*.tgz)
CHECK_BACK_FILE =$(backfile)
else
CHECK_BACK_FILE =$(shell find $(BACK_PATH) -name $(backfile))
endif
bk: clean
@$(MKDIR) -p $(BACK_PATH) --mode=0777
@echo Backuping $(MODULE)... $(BACK_PATH)/$(BACK_NAME)
@tar czvf $(BACK_PATH)/$(BACK_NAME) ./src ./ut ./doc ./Makefile
lsbk:
@$(LS) $(BACK_PATH)
rmbk:
ifneq "$(CHECK_BACK_FILE)" ""
@rm -rf $(BACK_PATH)/$(backfile)
@$(LS) $(BACK_PATH)
endif
unzip:
ifneq "$(CHECK_BACK_FILE)" ""
@tar czvf $(BACK_PATH)/$(BACK_NAME) ./src ./ut ./doc ./Makefile
@tar zxvf $(BACK_PATH)/$(backfile)
@ls $(BACK_PATH)
endif

101
include/Makefile.cov Normal file
View File

@@ -0,0 +1,101 @@
##----------------------------------------------------------##
## ##
## Universal Makefile Lcov Function ##
## ##
## Created : Wei Liu 07/04/11 ##
## Revision: [Last]Wei Liu 07/07/09 ##
## ##
##----------------------------------------------------------##
##--------------------------------------
##
## COVER define
##
##--------------------------------------
ifeq "$(COVER_NEED)" "yes"
COVER := /usr/bin/lcov
GENHTML := /usr/bin/genhtml
GENDESC := /usr/bin/gendesc
GENPNG := /usr/bin/genpng
##Depending on the presence of the GD.pm perl module, we can use the
##special option '--frames' for genhtml
USE_GENPNG := $(shell $(GENPNG) --help >/dev/null 2>/dev/null; echo $$?)
ifeq ($(USE_GENPNG),0)
FRAMES := --frames
else
FRAMES :=
endif
##COV_SETFLAG := --zerocounters --path . -q --directory .
COV_SETFLAG := --zerocounters -q --directory ../obj
COV_SET := $(COVER) $(COV_SETFLAG)
COVER_REPORT_PATH ?= $(UTDIR)/output
INFO_FILE = $(COVER_REPORT_PATH)/$(MODULE).info
DSP_FILE = $(MODULE)_test_descriptions.txt
COV_OUTSET = --capture --directory ../obj \
--output-file $(INFO_FILE)\
--test-name $(MODULE) -q \
--base-directory ../
COV_HTMLSET= $(INFO_FILE) \
--output-directory $(COVER_REPORT_PATH)\
--title $(MODULE) \
--show-details $(FRAMES) \
--legend -q --num-spaces 4
COV_OUTPUT = $(COVER) $(COV_OUTSET)
COV_DOC_PATH := /usr/local/include/cov
endif
##--------------------------------------
##
## Make Test
##
##--------------------------------------
test:
@echo -e "\n================================Test start======================================\n"
ifeq "$(BUILD)" "exef"
ifeq "$(COVER_NEED)" "yes"
@$(MKDIR) -p $(COVER_REPORT_PATH) --mode=0777
@cp -rf $(COV_DOC_PATH)/lcovrc $(COV_DOC_PATH)/lcov_html_header\
$(COV_DOC_PATH)/lcov_html_foot /etc/
@cp -rf /usr/local/include/cgprof/cgprof /usr/local/bin/cgprof
@$(COV_SET)
$(OUTFILE)
gprof $(OUTFILE) gmon.out -p | cgprof -Tps
@$(COV_OUTPUT)
@LANG=C $(GENHTML) $(COV_HTMLSET)
@echo
@echo -e "||---------------------------------------------------------------"
@echo -e "|| Test cover report generated on the paht $(COVER_REPORT_PATH). "
@echo -e "|| Point a web browser at index.html to see results. "
@echo -e "||---------------------------------------------------------------"
else
@echo "COVER_NEED: $(COVER_NEED)BUILD: $(BUILD) "
$(OUTFILE)
endif
@echo -e "\n================================Test End========================================\n"
else
@echo -e "||---------------------------------------------------------------"
@echo -e "|| This is not exef project! "
@echo -e "||---------------------------------------------------------------"
@echo "This is not exef project!"
endif
cleanlcov:
@$(COV_SET) --reset
retest: cleanlcov test

28
include/Makefile.doxygen Normal file
View File

@@ -0,0 +1,28 @@
##----------------------------------------------------------##
## ##
## Universal Makefile Documentation Function ##
## ##
## Created : Wei Liu 07/06/30 ##
## Revision: [Last]Wei Liu 07/07/07 ##
## ##
##----------------------------------------------------------##
VER_STR ?= 9.0
DOXYGEN_DOC_PATH := /usr/local/include/doc
define PREPARE_DOXYGEN
sed 's/MODULE/$(MODULE)/g' $(1) | sed 's/VER_STR/$(VER_STR)/g' >> ./doc/doxygen.conf
endef
define MAKE_DOC
@echo
@echo -e "Generate documnet of $(MODULE)\t\t\t Please Waiting..."
@$(call PREPARE_DOXYGEN, $(DOXYGEN_DOC_PATH)/doxygen.conf)
@doxygen ./doc/doxygen.conf
@cp -rf $(DOXYGEN_DOC_PATH)/view_chm.bat ./doc/html
@echo
@echo ==================================Doxygen End===================================
endef

379
include/Makefile.indent Normal file
View File

@@ -0,0 +1,379 @@
##----------------------------------------------------------##
## ##
## Universal Makefile Indenting fuction ##
## ##
## Created : Wei Liu 07/04/30 ##
## Revision: [Last]Wei Liu 07/07/07 ##
## ##
##----------------------------------------------------------##
##--------------------------------------
##
## Make indenting program flags
##
##--------------------------------------
##-bad<61><64>--blank-lines-after-declarations <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD><EFBFBD>Ͽհ<CFBF><D5B0>С<EFBFBD>
BAD_FLAG :=
##-bad
##-bap<61><70>--blank-lines-after-procedures <20><><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽհ<CFBF><D5B0>С<EFBFBD>
BAP_FLAG :=
##-bap
##-bbb<62><62>--blank-lines-after-block-comments <20><><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽհ<CFBF><D5B0>С<EFBFBD>
BBB_FLAG :=
##-bbb
##--break-before-boolean-operator bbo <20>ϳ<EFBFBD><CFB3><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
BBO_FLAG :=
##-bc<62><63>--blank-lines-after-commas <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><D6B6>ż<EFBFBD><C5BC><EFBFBD><EFBFBD>С<EFBFBD>
BC_FLAG :=
##-bl<62><6C>--braces-after-if-line <20><>if(<28><><EFBFBD><EFBFBD>else,for<6F>ȵ<EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD>"{"<22>Գ<EFBFBD>һ<EFBFBD>С<EFBFBD>
BL_FLAG := -bl
##-bli<<3C><><EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD>><3E><>--brace-indent<<3C><><EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD>> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{}<7D><><EFBFBD>ŵĸ<C5B5><C4B8><EFBFBD><EFBFBD><EFBFBD>
BLI_FLAG := -bli4
##--braces-after-struct-decl-line bls <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B9B9>"struct"<22><>"{"<22><><EFBFBD><EFBFBD>
BLS_FLAG := -bls
##-br<62><72>--braces-on-if-line <20><>if(<28><><EFBFBD><EFBFBD>else,for<6F>ȵ<EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>˶ε<CBB6>"{"<22>Գ<EFBFBD>һ<EFBFBD>С<EFBFBD>
BR_FLAG :=
##-bs<62><73>--blank-before-sizeof <20><><EFBFBD><EFBFBD>sizeof֮<66><D6AE><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
BS_FLAG :=
##`-cbin'
##`--case-brace-indentationn'
##Indent braces after a case label N spaces.
CBI_FLAG := -cbi5
##-c<<3C><><EFBFBD><EFBFBD>><3E><>--comment-indentation<<3C><><EFBFBD><EFBFBD>> <20><><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
CW_FLAG := -c33
##-cd<<3C><><EFBFBD><EFBFBD>><3E><>--declaration-comment-column<<3C><><EFBFBD><EFBFBD>> <20><><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
CD_FLAG := -cd33
##-cdb<64><62>--comment-delimiters-on-blank-lines <20><>ע<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>Գ<EFBFBD>һ<EFBFBD>С<EFBFBD>
CDB_FLAG :=
##-ce<63><65>--cuddle-else <20><><EFBFBD><EFBFBD>else<73><65><EFBFBD><EFBFBD>"}"(ifִ<66><D6B4><EFBFBD><EFBFBD><EFBFBD>εĽ<CEB5>β)֮<>
CE_FLAG :=
##-ci<<3C><><EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD>><3E><>--continuation-indentation<<3C><><EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD>> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵĸ<C5B5><C4B8><EFBFBD><EFBFBD><EFBFBD>
CI_FLAG :=
##-ci4
##-cli<<3C><><EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD>><3E><>--case-indentation-<<3C><><EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD>> <20><>ʹ<EFBFBD><CAB9>caseʱ<65><CAB1>switch<63><68><EFBFBD>ŵĸ<C5B5><C4B8><EFBFBD><EFBFBD><EFBFBD>
CLI_FLAG := -cli0
##-cp<<3C><><EFBFBD><EFBFBD>><3E><>-else-endif-column<<3C><><EFBFBD><EFBFBD>> <20><><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>else<73><65>elseif<69><66><EFBFBD><EFBFBD><EFBFBD>Ҳඨ<D2B2><E0B6A8><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
CP_FLAG := -cp33
##-cs<63><73>--space-after-cast <20><><EFBFBD><EFBFBD>cast֮<74><D6AE><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
CS_FLAG := -cs
##-d<<3C><><EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD>><3E><>-line-comments-indentation<<3C><><EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD>> <20><><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2>Ƿ<EFBFBD><C7B7>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD>ע<EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD>
D_FLAG :=
##-d0
##-di<<3C><><EFBFBD><EFBFBD>><3E><>--declaration-indentation<<3C><><EFBFBD><EFBFBD>> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>εı<CEB5><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
DI_FLAG :=
##-di4
##-fc1<63><31>--format-first-column-comments <20><><EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><D4B7><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>ǰ<EFBFBD>˵<EFBFBD>ע<EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>
FC1_FLAG := -fc1
##-fca<63><61>--format-all-comments <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD>͵ĸ<CDB5>ʽ<EFBFBD><CABD>
FCA_FLAG :=
##-gnu<6E><75>--gnu-style <20><>ָ<EFBFBD><D6B8>ʹ<EFBFBD><CAB9>GNU<4E>ĸ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>ΪԤ<CEAA><D4A4>ֵ<EFBFBD><D6B5>
GNU_FLAG :=
##-kr<6B><72>--k-and-r-style <20><>ָ<EFBFBD><D6B8>ʹ<EFBFBD><CAB9>Kernighan&Ritchie<69>ĸ<EFBFBD>ʽ<EFBFBD><CABD>
KR_FLAG :=
##-orig<69><67>--original <20><>ʹ<EFBFBD><CAB9>Berkeley<65>ĸ<EFBFBD>ʽ<EFBFBD><CABD>
ORG_STYLE :=
##-i<<3C><><EFBFBD><EFBFBD>><3E><>--indent-level<<3C><><EFBFBD><EFBFBD>> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵĸ<C5B5><C4B8><EFBFBD><EFBFBD><EFBFBD>
I_FLAG := -i4
##-ip<<3C><><EFBFBD><EFBFBD>><3E><>--parameter-indentation<<3C><><EFBFBD><EFBFBD>> <20><><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD>
IP_FLAG := -ip4
##--line-length 75 l75 <20><>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD>75
LINE_FLAG :=
##`-lcn'
##`--comment-line-lengthn'
##Set maximum line length for comment formatting to n.
LCN_FLAG :=
##`-lps'
##`--leave-preprocessor-space'
##Leave space between `#' and preprocessor directive.
LPS_FLAG :=
##-lp<6C><70>--continue-at-parentheses <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>λ<EFBFBD><CEBB><EFBFBD>ݴ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>
LP_FLAG :=
##--break-function-decl-args nbfda <20>رգ<D8B1><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>һ<EFBFBD><D2BB>һ<EFBFBD><D2BB>
NBFDA_FLAG := -nbfda
##-nbad<61><64>--no-blank-lines-after-declarations <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<E1B2BB><D2AA><EFBFBD>Ͽհ<CFBF><D5B0>С<EFBFBD>
NBAD_FLAG :=
##-nbap<61><70>--no-blank-lines-after-procedures <20><><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD>Ҫ<E1B2BB><D2AA><EFBFBD>Ͽհ<CFBF><D5B0>С<EFBFBD>
NBAP_FLAG :=
##-nbbb<62><62>--no-blank-lines-after-block-comments <20><><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<E1B2BB><D2AA><EFBFBD>Ͽհ<CFBF><D5B0>С<EFBFBD>
NBBB_FLAG :=
##-nbc<62><63>--no-blank-lines-after-commas <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>ֶ<EFBFBD><D6B6>ţ<EFBFBD><C5A3>Ծɲ<D4BE>Ҫ<EFBFBD><D2AA><EFBFBD>С<EFBFBD>
NBC_FLAG := -nbc
##-ncdb<64><62>--no-comment-delimiters-on-blank-lines <20><>ע<EFBFBD>ͷ<EFBFBD><CDB7>Ų<EFBFBD>Ҫ<EFBFBD>Գ<EFBFBD>һ<EFBFBD>С<EFBFBD>
NCBD_FLAG := -ncdb
##--cuddle-do-while ncdw "do --- while"<22><>"while"<22><><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>"}"<22><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
NCDW_FLAG := -ncdw
##-nce<63><65>--dont-cuddle-else <20><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>else<73><65><EFBFBD><EFBFBD>"}"֮<>
NCE_FLAG :=
##-nce
##-ncs<63><73>--no-space-after-casts <20><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>cast֮<74><D6AE><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
NCS_FLAG :=
##-nfc1<63><31>--dont-format-first-column-comments <20><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>ǰ<EFBFBD>˵<EFBFBD>ע<EFBFBD>͡<EFBFBD>
NFC1_FLAG :=
##-nfca<63><61>--dont-format-comments <20><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ʽ<EFBFBD><CABD><EFBFBD>κε<CEBA>ע<EFBFBD>͡<EFBFBD>
NFCA_FLAG := -nfca
##--honour-newlines hnl Prefer to break long lines at the position of newlines in the input
HNL_FLAG := -hnl
##-nip<69><70>--no-parameter-indentation <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>š<EFBFBD>
NIP_FLAG :=
##-nlp<6C><70>--dont-line-up-parentheses <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>λ<EFBFBD><CEBB>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>
NLP_FLAG :=
##-npcs<63><73>--no-space-after-function-call-names <20><><EFBFBD>ڵ<EFBFBD><DAB5>õĺ<C3B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><E1A3AC>Ҫ<EFBFBD><D2AA><EFBFBD>Ͽո<CFBF><D5B8><EFBFBD>
NPCS_FLAG :=
##-npro<72><6F>--ignore-profile <20><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ȡindent<6E><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>.indent.pro<72><6F>
NPRO_FLAG := -npro
##-nprs<72><73>--space-after-procedure-calls <20><><EFBFBD><EFBFBD>"<22><>"<22><>"<22><><><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ո<EFBFBD> <20><>
NPRS_FLAG := -nprs
##-npsl<73><6C>--dont-break-procedure-type <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>ͬһ<CDAC>С<EFBFBD>
NPSL_FLAG := -npsl
##--space-after-for saf for<6F><72><EFBFBD><EFBFBD><EFBFBD>пո<D0BF>
SAF_FLAG := -saf
##--space-after-if sai if<69><66><EFBFBD><EFBFBD><EFBFBD>пո<D0BF>
SAI_FLAG := -sai
##--space-after-while saw while<6C><65><EFBFBD><EFBFBD><EFBFBD>пո<D0BF>
SAW_FLAG := -saw
##-nsc<73><63>--dont-star-comments <20><>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD>಻Ҫ<E0B2BB><D2AA><EFBFBD><EFBFBD><EFBFBD>Ǻ<EFBFBD>(*)<29><>
NSC_FLAG := -nsc
##-nsob<6F><62>--leave-optional-semicolon <20><><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵĿհ<C4BF><D5B0>С<EFBFBD>
NSOB_FLAG :=
##-nss<73><73>--dont-space-special-semicolon <20><><EFBFBD><EFBFBD>for<6F><72>while<6C><65><EFBFBD>ν<EFBFBD><CEBD><EFBFBD>һ<EFBFBD><D2BB>ʱ<EFBFBD><CAB1><EFBFBD>ڷֺ<DAB7>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>Ͽո<CFBF><D5B8><EFBFBD>
NSS_FLAG := -nss
##-nv<6E><76>--no-verbosity <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
NV_FLAG := -nv
##`-nut'
##`--no-tabs'
##Use spaces instead of tabs.
NUT_FLAG :=
##-nut
##-pcs<63><73>--space-after-procedure-calls <20><><EFBFBD>ڵ<EFBFBD><DAB5>õĺ<C3B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"("֮<><D6AE><EFBFBD><EFBFBD><EFBFBD>Ͽո<CFBF><D5B8><EFBFBD>
PCS_FLAG := -pcs
##`-prs'
##`--space-after-parentheses'
##Put a space after every '(' and before every ')'.
PRS_FLAG :=
##`-pin'
##`--paren-indentationn'
##Specify the extra indentation per open parentheses '(' when a statement is broken.
PI_FLAG :=
##-pi4
##-psl<73><6C>--procnames-start-lines <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>ǰһ<C7B0>С<EFBFBD>
PSL_FLAG :=
##-sc<73><63>--start-left-side-of-comments <20><><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǻ<EFBFBD>(*)<29><>
SC_FLAG :=
##-sob<6F><62>--swallow-optional-blank-lines <20><>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD>ŵĿհ<C4BF><D5B0>С<EFBFBD>
SOB_FLAG := -sob
## -sbin, --struct-brace-indentationn
## Indent braces of a struct, union or enum N spaces.
SBI_FLAGE := -sbi4
##-ss<73><73>--space-special-semicolon <20><><EFBFBD><EFBFBD>for<6F><72>swile<6C><65><EFBFBD>ν<EFBFBD><CEBD><EFBFBD>һ<EFBFBD><D2BB>ʱ<EFBFBD><CAB1><EFBFBD>ڷֺ<DAB7>ǰ<EFBFBD><C7B0><EFBFBD>Ͽո<CFBF><D5B8><EFBFBD>
SS_FLAG := -ss
##-st<73><74>--standard-output <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ڱ<EFBFBD>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8>
ST_FLAG :=
##-T <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD>
T_FLAG := -T
##-ts<<3C><><EFBFBD><EFBFBD>><3E><>--tab-size<<3C><><EFBFBD><EFBFBD>> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>tab<61>ij<EFBFBD><C4B3>ȡ<EFBFBD>
TS_FLAG := -ts4
##-ts4
##--use-tabs ut ʹ<><CAB9>tab<61><62><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UT_FLAG := -ut
##-ut
##-v<><76>--verbose <20><>ִ<EFBFBD><D6B4>ʱ<EFBFBD><CAB1>ʾ<EFBFBD><CABE>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
V_FLAG := -v
##-version <20><><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><E6B1BE>Ϣ<EFBFBD><CFA2>
VER_FLAG :=
##δʵ<CEB4>ֵķ<D6B5><C4B7><EFBFBD><EFBFBD><EFBFBD>
##1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿո<D3BF> (<28><>ʵ<EFBFBD><CAB5>)
##2, else <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
##3, ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
##4<><34>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0>ע<EFBFBD>Ͷ<EFBFBD>
## indent flags
## -bad -bap -bbb -bbo -bl -bli4 -bls -bs -c33 -cd33 -ce -ci4 -cli0
## -cp33 -cs -d0 -di4 -fc1 -hnl -i4 -ip4 -lp -nbc -ncdb -nbfda -ncdw
## -nfc1 -nfca -npro -npsl -nsc -nv -pcs -saf -sai -saw -sob -ss -T -ts4 -ut
INDENT_FLAGS1 := $(GNU_FLAG) \
$(KR_FLAG) \
$(ORG_STYLE) \
$(BAD_FLAG) \
$(BAP_FLAG) \
$(BBB_FLAG) \
$(BBO_FLAG) \
$(BC_FLAG) \
$(BL_FLAG) \
$(BLI_FLAG) \
$(BLS_FLAG) \
$(BR_FLAG) \
$(BS_FLAG) \
$(CBI_FLAG) \
$(CW_FLAG) \
$(CD_FLAG) \
$(CDB_FLAG) \
$(CE_FLAG) \
$(CI_FLAG) \
$(CLI_FLAG) \
$(CP_FLAG) \
$(CS_FLAG) \
$(D_FLAG) \
$(DI_FLAG) \
$(FC1_FLAG) \
$(FCA_FLAG) \
$(HNL_FLAG) \
$(I_FLAG) \
$(IP_FLAG) \
$(LINE_FLAG ) \
$(LP_FLAG) \
$(NBAD_FLAG) \
$(NBAP_FLAG) \
$(NBBB_FLAG) \
$(NBC_FLAG) \
$(NCBD_FLAG) \
$(NBFDA_FLAG) \
$(NCDW_FLAG) \
$(NCE_FLAG) \
$(NCS_FLAG) \
$(NFC1_FLAG) \
$(NFCA_FLAG) \
$(NIP_FLAG) \
$(NLP_FLAG) \
$(NPCS_FLAG) \
$(NPRO_FLAG) \
$(NPRS_FLAG) \
$(NPSL_FLAG) \
$(NSC_FLAG) \
$(NSOB_FLAG) \
$(NSS_FLAG) \
$(NV_FLAG) \
$(PCS_FLAG) \
$(PI_FLAG) \
$(PSL_FLAG) \
$(PRS_FLAG) \
$(SAF_FLAG) \
$(SAI_FLAG) \
$(SAW_FLAG) \
$(SBI_FLAGE) \
$(SC_FLAG) \
$(SOB_FLAG) \
$(SS_FLAG) \
$(ST_FLAG) \
$(T_FLAG) \
$(TS_FLAG) \
$(UT_FLAG) \
$(V_FLAG) \
$(VER_FLAG) \
$(NUT_FLAG)
INDENT_FLAGS = -kr -i4
##$(warning $(INDENT_FLAGS) $(1))
##--------------------------------------
##
## MAKE_INDENT template
##
##------------------------------------
define INDENT_FILE
indent $(INDENT_FLAGS) $(1)
endef
define MAKE_INDENT
@echo
@echo "[Indent flags ]: $(INDENT_FLAGS)"
@echo ""
$(foreach file,$(1),$(call INDENT_FILE, $(file)))
@echo
@echo ===================================Indent End===================================
endef

350
include/Makefile.rules Normal file
View File

@@ -0,0 +1,350 @@
##----------------------------------------------------------##
## ##
## Universal Makefile Rules ##
## ##
## Created : Wei Liu 07/03/07 ##
## Revision: [Last]Wei Liu 07/07/07 ##
## ##
##----------------------------------------------------------##
UMAKE_VERSION := V2.0
##-------------------------------------
##
## Work Directory : /usr/local/include
## Default Target : all
##
##-------------------------------------
default: all
.PHONY: all clean rebuild test indent splint doc \
dir config check bk lsbk rmbk unzip umakever usage\
FORCE
.SUFFIXES:
umakever:
@echo "Universal Makefile (UMake) Version: $(UMAKE_VERSION)"
##--------------------------------------
##
## Makefile CFG defination check
##
##--------------------------------------
ifeq "$(MODULE)" ""
$(error Please input the module name (MODULE = )in makefile. )
endif
ifeq "$(CFG)" ""
CFG=debug
$(warnning No configuration specified for CFG. Defaulting to $(MODULE) - debug. )
endif
ifeq "$(BUILD)" ""
BUILD=lib
$(warnning No configuration specified for BUILD. Defaulting to create lib$(MODULE).a. )
endif
ifeq "$(SRC_PATH)" ""
SRC_PATH=.
$(warnning No configuration specified for SRC_PATH. Defaulting to ./. )
endif
COVER_NEED ?= no
PLT_PATH ?= ../../plat
APP_PATH ?= ../../app
TYPE ?= plat
##--------------------------------------
##
## Gcc Flag for debug or release
##
##--------------------------------------
CC := gcc
GCC_CFLAGS := -Wall -MM
AR_LINK := ar -r
RELS_FLAGS_ADD += -DNDEBUG
RELEASE_CFLAGS += -g -Wall -I. $(RELS_FLAGS_ADD)
RELEASE_LINK_CFLAGS = -g $(RELS_FLAGS_ADD) -o
DEBUG_CFLAGS += -g -Wall -rdynamic -DDEBUG -I. $(DBUG_FLAGS_ADD)
DEBUG_LINK_CFLAGS = -g -rdynamic -DDEBUG -o
ifeq "$(COVER_NEED)" "yes"
DEBUG_CFLAGS += -fprofile-arcs -ftest-coverage -pg
endif
GCC_CFLAGS=$(DEBUG_CFLAGS)
GCC_LINK_CFLAGS=$(DEBUG_LINK_CFLAGS)
##--------------------------------------
##
## Project setting
##
##--------------------------------------
OBJDIR:=./obj
LIBDIR:=./lib
UTDIR :=./ut
DOCDIR:=./doc
DIRBUILD=$(OBJDIR)
ifeq "$(BUILD)" "lib"
BINDIR:=./bin
OUTFILE=$(LIBDIR)/lib$(MODULE).a
DIRNEED=$(UTDIR) $(DOCDIR)
DIRBUILD+=$(LIBDIR)
else
BINDIR:=.
OUTFILE=$(BINDIR)/$(MODULE)
DIRNEED=
DIRBUILD+=$(BINDIR)
endif
##--------------------------------------
##
## source , object and dependencies files
##
##--------------------------------------
SRC_SUBDIR := $(shell find $(SRC_PATH) -type d)
vpath %.c $(SRC_SUBDIR)
vpath %.o $(OBJDIR)
vpath %.d $(OBJDIR)
SRC_FULL_PATH = $(foreach dir,$(SRC_SUBDIR),$(wildcard $(dir)/*.c))
SRC_FILES = $(foreach file, $(notdir $(SRC_FULL_PATH)) ,$(OBJDIR)/$(file))
COMMON_OBJ = $(SRC_FILES:%.c=%.o)
TEST_OBJ_PATH ?= ../../obj
TEST_OBJ = $(foreach dir,$(TEST_OBJ_PATH),$(wildcard $(dir)/*.o))
OBJ=$(COMMON_OBJ) $(OBJ_ADD)
ALL_OBJ := $(OBJ) $(TEST_OBJ)
##--------------------------------------
##
## Lib setting
##
##--------------------------------------
ifeq "$(COVER_NEED)" "yes"
LIBCOVER=-lgcov
endif
MODULE_PLT_LIB=$(foreach lib,$(PLT_LIB), -L$(PLT_PATH)/$(lib)/lib/ -l$(lib) )
MODULE_PLT_LIB+=-lm
MODULE_APP_LIB=$(foreach lib,$(APP_LIB),-L$(APP_PATH)/$(lib)/lib -l$(lib))
ifneq (,$(findstring hlr,$(PLT_LIB)))
MODULE_APP_LIB=
##-L../app/ae/src/lib -lpubfunc
endif
ifneq (,$(findstring auceir,$(PLT_LIB)))
MODULE_APP_LIB=
##-L../app/ae/src/lib -lpubfunc -L../usr/lib -la3a8 -ldl -lpopt
endif
##--------------------------------------
##
## Rules
##
##--------------------------------------
CCFLAG_SWITCH ?= off
CC_COMPILE =$(CC) $(GCC_CFLAGS) -c $< -o $@
CC_PRG_LINK=$(CC) $(GCC_LINK_CFLAGS) $(OUTFILE) $(ALL_OBJ) $(LIBCOVER) $(MODULE_APP_LIB) $(MODULE_PLT_LIB) $(LIB_ADD)
CC_LIB_LINK=$(AR_LINK) $(OUTFILE) $(ALL_OBJ)
COMPILE=$(CC_COMPILE)
PRG_LINK=$(CC_PRG_LINK)
LIB_LINK=$(CC_LIB_LINK)
ifeq "$(BUILD)" "exef"
LINK=$(PRG_LINK)
else
LINK=$(LIB_LINK)
endif
# Build rules
all: preproc start dir $(ALL_OBJ) #prtdebug
@echo Linking :$(OUTFILE)
ifeq "$(CCFLAG_SWITCH)" "off"
@$(LINK)
else
$(LINK)
endif
@$(POSTPROC_CMD)
@echo -e "\n================================================================================\n"
sinclude $(DEPENDS)
release : CC_COMPILE =$(CC) $(RELEASE_CFLAGS) -c $< -o $@
release : CC_PRG_LINK=$(CC) $(RELEASE_LINK_CFLAGS) $(OUTFILE) $(ALL_OBJ) $(MODULE_APP_LIB) $(MODULE_PLT_LIB) $(LIB_ADD)
release : all
##--------------------------------------
##
## Make command to use for dependencies
##
##--------------------------------------
MAKE :=make
RM :=rm
MKDIR :=mkdir
preproc:
@$(PREPROC_CMD)
start:
@echo -e "\n================================================================================\n"
@echo "[Building Project]: $(notdir $(MODULE))"
ifeq "$(CCFLAG_SWITCH)" "off"
@echo "Show Gcc Flags switch = OFF"
endif
prtdebug:
@echo "$(MODULE)-$(BUILD)[$(CFG)] build source file:" "$(SRC_FULL_PATH)"
@echo SRC_SUBDIR: $(SRC_SUBDIR)
@echo SRC_FULL_PATH : $(SRC_FULL_PATH)
@echo SRC_FILES : $(SRC_FILES)
@echo ALL_OBJ : $(ALL_OBJ)
@echo LIB:$(MODULE_PLT_LIB)
@echo PLT_LIB: $(PLT_LIB)
@echo CCFLAG_SWITCH :$(CCFLAG_SWITCH)
config: dir
dir:
@$(foreach dir,$(DIRNEED),$(MKDIR) -p $(DIRNEED) --mode=0777; )
@$(foreach dir,$(DIRBUILD),$(MKDIR) -p $(dir) --mode=0777; )
##--------------------------------------
##
## Make Rebuild and clean
##
##--------------------------------------
ifneq "$(PROJ)" ""
FRIEND_PROJ := $(shell )
endif
jumprebuild:
ifneq "$(PROJ)" ""
@cd $(FRIEND_PROJ); mak rebuild ; cd -
endif
# Rebuild this project
rebuild: jumprebuild cleanall all
# Clean this project and all dependencies
cleanall: clean
# Clean this project
clean:
@echo -e "||--------------------------------------------------------------- "
@echo -e "|| Umake clean gcc , lcov, doxygen generated and temporary files. "
@echo -e "||--------------------------------------------------------------- "
@$(RM) -rf $(OBJDIR) $(OUTFILE) $(COVER_REPORT_PATH) ./doc/doxygen.conf ./doc/html ./doc/latex ./doc/rtf $(foreach dir,$(SRC_SUBDIR),$(dir)/*~)
##--------------------------------------
##
## indent Makefile.indent
##
##--------------------------------------
include $(MAKE_INCLUDE)/Makefile.indent
indent:
@chmod 777 $(SRC_FULL_PATH)
@echo ===================================Indent START=================================
@echo
@echo "[Indent source file ]: $(SRC_FULL_PATH)"
$(call MAKE_INDENT , $(SRC_FULL_PATH))
##--------------------------------------
##
## splint makefile.splint
##
##--------------------------------------
include $(MAKE_INCLUDE)/Makefile.splint
SPLINT_FLAG_SWITCH ?= off
splint:
@chmod 777 $(SRC_FULL_PATH)
@echo =================================Splint START==================================
@echo
ifeq "$(SPLINT_FLAG_SWITCH)" "on"
@echo "[Splint flags ]: $(SPLINT_FLAGS)"
endif
@echo "[Lint Clean Project]: $(notdir $(MODULE))"
$(call MAKE_SPLINT, $(SRC_FULL_PATH))
##--------------------------------------
##
## doc Makefile.doxygen
##
##--------------------------------------
include $(MAKE_INCLUDE)/Makefile.doxygen
doc:
@chmod 777 $(SRC_FULL_PATH)
@echo ==================================Doxygen START=================================
@echo
$(call MAKE_DOC, $(SRC_FULL_PATH))
##--------------------------------------
##
## backup Makefile.backup
##
##--------------------------------------
include $(MAKE_INCLUDE)/Makefile.backup
##--------------------------------------
##
## cov Makefile.cov
##
##--------------------------------------
include $(MAKE_INCLUDE)/Makefile.cov
##--------------------------------------
##
## usage Makefile.usage
##
##--------------------------------------
include $(MAKE_INCLUDE)/Makefile.usage
##--------------------------------------
##
## Make dependencies
##
##--------------------------------------
$(OBJDIR)/%.d:%.c
@$(CC) $< -MM -MD -o $@
$(OBJDIR)/%.o:%.c
ifeq "$(CCFLAG_SWITCH)" "off"
@echo -e "building: $(notdir $@) \t\t\t\t please wait ..."
@$(COMPILE)
else
$(COMPILE)
endif
DEPENDS=$(COMMON_OBJ:.o=.d)
##--------------------------------------
##
## Make force
##
##--------------------------------------
FORCE:

288
include/Makefile.splint Normal file
View File

@@ -0,0 +1,288 @@
##----------------------------------------------------------##
## ##
## Universal Makefile Splint Function ##
## ##
## Created : Wei Liu 07/05/20 ##
## Revision: [Last]Wei Liu 07/07/07 ##
## ##
##----------------------------------------------------------##
##--------------------------------------
##
## Make splinting program flags
##
##--------------------------------------
##<23>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>Ϣ
SFLAG_HINTS := #-hints
##<23>Ƿ<EFBFBD><C7B7>ÿ<EFBFBD><C3BF><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>
SFLAG_INCLUDE := +single-include
#+never-include
##<23><><EFBFBD><EFBFBD>ʲô<CAB2><C3B4>
SFLAG_LIB := +posixlib
##+nolib +nof -warnposix
##+unixlib
##+posixlib
#+nolib +nof -warnposix
##+nof
##+unixlib
##+which_lib
##
SFLAG_DUMP :=
##dump ./include/public.h ./include/pub_base.h ./include/includes.h
SFLAG_LOAD :=
##+load /usr/share/splint/lib/unixstrict.lcd
##load ./include/public.h ./include/pub_base.h ./include/includes.h
SFLAG_DIR :=
##-I/work/r9/plat/public/src/include/splint
##-I/work/r9/plat/public/src/include/splint
##-I /usr/local/work/r9/plat/public/src/include/
##<23><><EFBFBD><EFBFBD>ģʽ
SFLAG_TYPE := -strict
##<23>Թ<EFBFBD><D4B9><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>
SFLAG_SYS_HEADERS := +skip_sys_headers
SFLAG_ISO_HEADERS :=
#+skip_iso_headers
SFLAG_POSIX_HEADERS :=
##+skip_posix_headers
##ÿ<><C3BF>ͷ<EFBFBD>ļ<EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
SFLAG_SINGLE_INCLUDE := +singleinclude
##ϵͳ<CFB5>ļ<EFBFBD>Ŀ¼
SFLAG_SYS_DIR :=
##+sys-dirs /work/r9/plat/public/src/include/splint
##<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>
SFLAG_PROTO_PARAMNAME := -protoparamname
##<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SFLAG_UNDERSCORE := -isoreserved -isoreservedinternal
## <20><>"/*"<22><>"*/"<22><><EFBFBD>ٴ<EFBFBD>ʹ<EFBFBD><CAB9>"/*"<22><>"*/"
SFLAG_NESTCOMMENT := -nestcomment
##<23><><EFBFBD><EFBFBD>δ˵<CEB4><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SFLAG_EXPORT_VAR := -exportvar
SFLAG_EXPORT_FCN := -exportfcn
SFLAG_EXPORT_TYPE := -exporttype
SFLAG_EXPORT_CONST := -exportconst
##<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>ΪBOOL<4F><4C>
SFLAG_LIKELY_BOOL := -likelybool
##<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SFLAG_CHAR_INT := +charint
SFLAG_BOOL_INT := +boolint
##Report memory transfer errors for initializations to read-only string literals
SFLAG_READONLY_TRANS := -readonlytrans
##A string literal is assigned to a char array that smaller than the string literal needs
SFLAG_STRING_SMALLER := -stringliteralsmaller
##A variable declared outside a macro body starts with the macro-var-prefix
SFLAG_MACRO_PREFIX := -macrovarprefixexclude
##Initializer does not define all elements of a declared array
SFLAG_INITAL_ELEMENT := -initallelements
##<23><><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5>
SFLAG_PARAM_TYPE := -type
##Report modification errors in functions declared without a modifies clause
SFLAG_MODIFY := -modnomods
##Use of a checked global in a function with no globals list
SFLAG_GLOBAL := -glob-noglobs
##Use of internal state in function with no globals list
SFLAG_INTERNAL_GLOBS := -internal-globs-noglobs
##Implicit checked qualifier on global variables and qualifier file static scope variables with no checking annotation
SFLAG_CHECK_GLOBAL := -imp-checkedstrict-globs -imp-checkedstrict_statics
##Undocumented modification of a checked global variable in a function with no modifies clause
SFLAG_CHECK_GLOBAL_MODIFY := -mod-globs-nomods
##Storage declared with observer may be modified through a call to an unconstrained function
SFLAG_OBSERVER_MODIFY := -mod-observer-uncon
##<23><><EFBFBD>Է<EFBFBD><D4B7><EFBFBD>ֵ
SFLAG_IGNORE_RETVAL := -retval
##while,if and for statement is not a block
SFLAG_WHILE_BLOCK := -whileblock
SFLAG_IF_BLOCK := -ifblock
SFLAG_FOR_BLOCK := -forblock
##There is no finals else following an else if construct
SFLAG_ELSEIF_COMPLETE := -elseifcomplete
##<23><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>
SFLAG_POINT_ARITH := -ptrarith -nullptrarith
##An unconstrained function is called in a function body where modifications are checked.
SFLAG_UNCONSTRAIN_MODIFY := -mod-uncon-nomods
##NO effect of unconstrained functions
SFLAG_EFFECT_UNCONSTRAIN := -no-effect-uncon
##Type-mismatch in parameter corresponding to format code in a printflike or scanflike function
SFLAG_FORMAT-TYPE := -format-type
##An actual parameter that is passed as a unique formal parameter is aliased by another parameter or global variable
SFLAG_ALIASING := -alias-unique -ret-alias#-may-alias-unique
##Transfer Errors flag
SFLAG_STORAGE_TRANSFER := -onlytrans -temptrans -unqualified-trans -immediatetrans
##Report errors for break statements inside a nested while, for or switch
SFLAG_DEEP_BREAK := -deep-break #-switch-switch-break -loop-loop-break
##Storage has inconsistent states of alternate paths through a branch
SFLAG_INCONSISTENT_BRANCH := -branch-state
##There is a non-empty case in a switch not followed by a break.
##Likely infinite loop is detected
##Likely infinite loop is detected. Loop test or body calls an unconstrained function that may produce an undetected modification
SFLAG_PROBLEMATIC_CTR := -case-break -infloops -infloopsuncon
##An expression may be undefined because a sub-expression contains a call to an unconstrained function (no modifies clause)
##that may modify something that may be modified or used by another sub-expression
SFLAG_UNDEFINED_EVALORDER := -eval-order-uncon
##Only storage transferred to an unqualified global or static reference.
##This may lead to a memory leak, since the new reference is not necessarily released
SFLAG_INITIALIZERS := -only-unq-global-trans
##Primitive operation does not type check strictly
SFLAG_PRIMITIVE_OPERA := -strict-ops -bitwise-signed
##Unused Declarations <20><>δʹ<CEB4>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SFLAG_DECLARARIONS := -field-use -fcnuse -param-use -typeuse -varuse -enummemuse
##Function, variable, iterator or constant declared but never defined (δ<><CEB4>ʼ<EFBFBD><CABC>)
SFLAG_COMPLETE_PRG := -decl-undef
##A declaration is exported but not used outside this module or not appear in a header file
SFLAG_EXPORTS := -export-local -export-header
##<23><>warning<6E><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>splint_warn<72><6E>
SFLAG_WARN_FILE := #+warning-stream splint_warn
##<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>splint_error<6F><72>
SFLAG_ERROR_FILE := #+error-stream splint_error
##<23>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
SFLAG_STREAM_OVERWRITE := -streamoverwrite
##An abstract type defined in M.h (or specified in M.lcl) is accessible in M.c
SFLAG_ACCESS := -access-module
##Function definition is in old style syntax. Standard prototype syntax is preferred.
SFLAG_ISO_CONFORMANCE := #-old-style
##Use of function that may lead to buffer overflow
SFLAG_BUFFER := -bufferoverflowhigh
##A function is declared without a parameter list prototype
SFLAG_FUNC_NOPARAM := -noparams
##Operand of sizeof operator is a type
SFLAG_SIZEOF_TYPE := -sizeoftype
##Storage derivable from a parameter, return value or global variable is not completely defined
SFLAG_COMP_DEF := -compdef
##Behavior of an expression is unspecified or implementation-dependent
##because sub-expressions contain interfering side effects that may be evaluated in any order
SFLAG_EVAL_ORDER := -eval-order
##try to recover code
SFLAG_TRY_TO_RECOVER := #+trytorecover
##<23><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>NULLָ<4C><D6B8>
SFLAG_NULL_RET := -nullret
##A possibly null pointer is reachable from a parameter or global variable that is not declared using a /*@null@*/ annotation
SFLAG_NULL_STATE := -nullstate
##The value of a location that may not be initialized on some execution path is used
SFLAG_USE_BEFORE_DEF := -usedef
##<23><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>֪<EFBFBD><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Format parameter is not known at compile-time <20><><EFBFBD><EFBFBD>:sprintf(mgcpAsciTempBuf, msg)
SFLAG_FORMAT_CONST := -format-const
##Argument to exit has implementation defined behavior. The only valid arguments to exit are EXIT_SUCCESS, EXIT_FAILURE and 0.
##An error is reported if Splint can determine statically that the argument to exit is not one of these
SFLAG_EXIT_ARG := -exitarg
##An extern declaration is used inside a function body
SFLAG_EXTERN := -nested-extern
SFLAG_OLD_STTLE := -oldstyle
SFLAG_SHIFT_NEG := -shiftnegative
SFLAG_PREPROC := -preproc
##all splint flags
SPLINT_FLAGS := $(SFLAG_LIB) $(SFLAG_TYPE) $(SFLAG_SYS_HEADERS) $(SFLAG_ISO_HEADERS)\
$(SFLAG_POSIX_HEADERS) $(SFLAG_SINGLEINCLUDE) $(SFLAG_WARN)\
$(SFLAG_UNDERSCORE) $(SFLAG_NESTCOMMENT) $(SFLAG_EVAL_ORDER)\
$(SFLAG_PROTO_PARAMNAME) $(SFLAG_EXPORT_VAR) $(SFLAG_EXPORT_FCN)\
$(SFLAG_EXPORT_TYPE) $(SFLAG_LIKELY_BOOL) $(SFLAG_CHAR_INT)\
$(SFLAG_READONLY_TRANS) $(SFLAG_STRING_SMALLER) $(SFLAG_MACRO_PREFIX)\
$(SFLAG_INITAL_ELEMENT) $(SFLAG_PARAM_TYPE) $(SFLAG_GLOBAL)\
$(SFLAG_CHECK_GLOBAL) $(SFLAG_CHECK_GLOBAL_MODIFY) $(SFLAG_IGNORE_RETVAL)\
$(SFLAG_INTERNAL_GLOBS) $(SFLAG_MODIFY) $(SFLAG_BOOL_INT)\
$(SFLAG_WHILE_BLOCK) $(SFLAG_HINTS) $(SFLAG_IF_BLOCK) $(SFLAG_FOR_BLOCK)\
$(SFLAG_POINT_ARITH) $(SFLAG_ELSEIF_COMPLETE) $(SFLAG_UNCONSTRAIN_MODIFY)\
$(SFLAG_EFFECT_UNCONSTRAIN) $(SFLAG_OBSERVER_MODIFY)\
$(SFLAG_FORMAT-TYPE) $(SFLAG_ALIASING) $(SFLAG_STORAGE_TRANSFER)\
$(SFLAG_DEEP_BREAK) $(SFLAG_INCONSISTENT_BRANCH) $(SFLAG_PROBLEMATIC_CTR)\
$(SFLAG_UNDEFINED_EVALORDER) $(SFLAG_INITIALIZERS) $(SFLAG_PRIMITIVE_OPERA)\
$(SFLAG_DECLARARIONS) $(SFLAG_COMPLETE_PRG) $(SFLAG_EXPORTS) $(SFLAG_INCLUDE)\
$(SFLAG_STREAM_OVERWRITE) $(SFLAG_WARN_FILE) $(SFLAG_ERROR_FILE)\
$(SFLAG_ACCESS) $(SFLAG_ISO_CONFORMANCE) $(SFLAG_BUFFER) $(SFLAG_SIZEOF_TYPE)\
$(SFLAG_COMP_DEF) $(SFLAG_FUNC_NOPARAM) $(SFLAG_TRY_TO_RECOVER)\
$(SFLAG_EXPORT_CONST) $(SFLAG_DUMP) $(SFLAG_LOAD) $(SFLAG_NULL_RET)\
$(SFLAG_NULL_STATE) $(SFLAG_USE_BEFORE_DEF) $(SFLAG_FORMAT_CONST)\
$(SFLAG_EXIT_ARG) $(SFLAG_EXTERN) $(SFLAG_OLD_STTLE) $(SFLAG_DIR)\
$(SFLAG_SHIFT_NEG) $(SFLAG_PREPROC)
##--------------------------------------
##
## MAKE_INDENT template
##
##------------------------------------
define SPLINT_FILE
@echo -e "Splinting: $(notdir $(1)) \t\t\t please wait ..."
@nohup splint $(SPLINT_FLAGS) $(1) | sed '$d' | sed '1,2d' |\
sed '/Splint /d' | sed '/Finished /d' |\
sed '/Cannot continue/d'
endef
##@echo $(SPLINT_FLAGS)
define MAKE_SPLINT
@echo
$(foreach file,$(1),$(call SPLINT_FILE, $(file)))
@echo
@echo =======================================End======================================
endef

36
include/Makefile.usage Normal file
View File

@@ -0,0 +1,36 @@
##----------------------------------------------------------##
## ##
## Universal Makefile usage ##
## ##
## Created : Wei Liu 07/04/11 ##
## Revision: [Last]Wei Liu 07/07/09 ##
## ##
##----------------------------------------------------------##
##-------------------------------------
##
## Universal Makefile Usage
##
##-------------------------------------
usage:
@echo "usage: [make ] = make all "
@echo "usage: [make all ] "
@echo "usage: [make clean ] "
@echo "usage: [make rebuild ] "
@echo "usage: [make test ] "
@echo "usage: [make indent ] "
@echo "usage: [make splint ] "
@echo "usage: [make prtdebug ] "
@echo "usage: [make dir ] "
@echo "usage: [make config ] = make dir now "
@echo "usage: [make check ] = not supported now "
@echo "usage: [make bk ] "
@echo "usage: [make lsbk ] "
@echo "usage: [make rmbk backfile=*/[filename]] "
@echo "usage: [make unzip backfile=[filename] ] "
@echo "usage: [make version ] "
@echo "usage: [make umakever ] "

15
mss/Makefile Normal file
View File

@@ -0,0 +1,15 @@
src_dir=`pwd`
.PHONY: all clean
all: agtocs_all
clean: agtocs_clean
agtocs_all:
$(MAKE) -C main
agtocs_clean:
$(MAKE) -C main clean

View File

@@ -3,9 +3,6 @@
## ## ## ##
## Universal Makefile for module template : V1.6.3 ## ## Universal Makefile for module template : V1.6.3 ##
## ## ## ##
## Created : Wei Liu 07/04/11 ##
## Revision: [Last]Wei Liu 07/07/07 ##
## ##
##----------------------------------------------------------## ##----------------------------------------------------------##
##---------------------------------------------------------------------## ##---------------------------------------------------------------------##
@@ -45,7 +42,6 @@
##---------------------------------------------------------------------## ##---------------------------------------------------------------------##
MODULE = agtocs
TYPE = app TYPE = app
DBUG_FLAGS_ADD = -D_LKSCTP DBUG_FLAGS_ADD = -D_LKSCTP
@@ -65,6 +61,8 @@ SRC_PATH = ./src
INC_PATH = ./src/include INC_PATH = ./src/include
PLT_PATH = ../../plat PLT_PATH = ../../plat
APP_PATH = ../../mss APP_PATH = ../../mss
BIN_PATH = ../../bin
MODULE = $(BIN_PATH)/agtocs
OBJ_ADD = OBJ_ADD =
TEST_OBJ_PATH = TEST_OBJ_PATH =
@@ -95,4 +93,5 @@ COVER_REPORT_PATH = ./output
## include makefile.rules (Do not change) ## include makefile.rules (Do not change)
## ##
##-------------------------------------- ##--------------------------------------
include Makefile.rules MAKE_INCLUDE = ../../include
include $(MAKE_INCLUDE)/Makefile.rules

30
plat/Makefile Normal file
View File

@@ -0,0 +1,30 @@
# Makefile for platform
PLATDIR = $(shell pwd)
BINDIR = $(PLATDIR)/../bin
PLATMODULELIST = debug diameter iptrans m2ua mtp3 public radius sccp scf smpp snmp tcap tcp xapp
.PHONY: all $(PLATMODULELIST) clean
# default all
all: $(PLATMODULELIST)
# plat module list
$(PLATMODULELIST):
@echo "====================== make $@ ======================="
@cd $(PLATDIR)/$@ && $(MAKE)
# @if [ $@ = "iptrans" ]; then \
# cd $(PLATDIR)/$@; \
# ./mkiptrans.sh; \
# cp -f ./iptrans $(BINDIR); \
# fi
@cd -
# clean
clean:
@for mod in $(PLATMODULELIST); do \
echo "====================== clean $$mod ======================="; \
cd $(PLATDIR)/$$mod && $(MAKE) clean; \
cd -; \
done

View File

@@ -95,4 +95,5 @@ COVER_REPORT_PATH = ./output
## include makefile.rules (Do not change) ## include makefile.rules (Do not change)
## ##
##-------------------------------------- ##--------------------------------------
include Makefile.rules MAKE_INCLUDE = ../../include
include $(MAKE_INCLUDE)/Makefile.rules

View File

@@ -95,4 +95,5 @@ COVER_REPORT_PATH = ./output
## include makefile.rules (Do not change) ## include makefile.rules (Do not change)
## ##
##-------------------------------------- ##--------------------------------------
include Makefile.rules MAKE_INCLUDE = ../../include
include $(MAKE_INCLUDE)/Makefile.rules

View File

@@ -95,4 +95,5 @@ COVER_REPORT_PATH = ./output
## include makefile.rules (Do not change) ## include makefile.rules (Do not change)
## ##
##-------------------------------------- ##--------------------------------------
include Makefile.rules MAKE_INCLUDE = ../../include
include $(MAKE_INCLUDE)/Makefile.rules

View File

@@ -95,4 +95,5 @@ COVER_REPORT_PATH = ./output
## include makefile.rules (Do not change) ## include makefile.rules (Do not change)
## ##
##-------------------------------------- ##--------------------------------------
include Makefile.rules MAKE_INCLUDE = ../../include
include $(MAKE_INCLUDE)/Makefile.rules

View File

@@ -95,4 +95,5 @@ COVER_REPORT_PATH = ./output
## include makefile.rules (Do not change) ## include makefile.rules (Do not change)
## ##
##-------------------------------------- ##--------------------------------------
include Makefile.rules MAKE_INCLUDE = ../../include
include $(MAKE_INCLUDE)/Makefile.rules

View File

@@ -92,7 +92,8 @@ COVER_REPORT_PATH = ./ut/ut_doc/output
## include makefile.rules (Do not change) ## include makefile.rules (Do not change)
## ##
##-------------------------------------- ##--------------------------------------
include Makefile.rules MAKE_INCLUDE = ../../include
include $(MAKE_INCLUDE)/Makefile.rules

View File

@@ -69,4 +69,5 @@ COVER_REPORT_PATH = ./ut/ut_doc/output
## include makefile.rules (Do not change) ## include makefile.rules (Do not change)
## ##
##-------------------------------------- ##--------------------------------------
include Makefile.rules MAKE_INCLUDE = ../../include
include $(MAKE_INCLUDE)/Makefile.rules

View File

@@ -92,4 +92,5 @@ COVER_REPORT_PATH = ./output
## include makefile.rules (Do not change) ## include makefile.rules (Do not change)
## ##
##-------------------------------------- ##--------------------------------------
include Makefile.rules MAKE_INCLUDE = ../../include
include $(MAKE_INCLUDE)/Makefile.rules

View File

@@ -13,7 +13,9 @@
#include <setjmp.h> #include <setjmp.h>
#include <unistd.h> #include <unistd.h>
#include <signal.h> #include <signal.h>
#if HAVE_STROPTS_H
#include <stropts.h> #include <stropts.h>
#endif
#include <time.h> #include <time.h>
#include <syslog.h> #include <syslog.h>
#include <termio.h> #include <termio.h>

View File

@@ -98,4 +98,5 @@ COVER_REPORT_PATH = ./output
## include makefile.rules (Do not change) ## include makefile.rules (Do not change)
## ##
##-------------------------------------- ##--------------------------------------
include Makefile.rules MAKE_INCLUDE = ../../include
include $(MAKE_INCLUDE)/Makefile.rules

View File

@@ -95,4 +95,5 @@ COVER_REPORT_PATH = ./output
## include makefile.rules (Do not change) ## include makefile.rules (Do not change)
## ##
##-------------------------------------- ##--------------------------------------
include Makefile.rules MAKE_INCLUDE = ../../include
include $(MAKE_INCLUDE)/Makefile.rules

View File

@@ -95,4 +95,5 @@ COVER_REPORT_PATH = ./ut/ut_doc/output
## include makefile.rules (Do not change) ## include makefile.rules (Do not change)
## ##
##-------------------------------------- ##--------------------------------------
include Makefile.rules MAKE_INCLUDE = ../../include
include $(MAKE_INCLUDE)/Makefile.rules

View File

@@ -89,4 +89,5 @@ COVER_REPORT_PATH = /ut/ut_doc/output
## include makefile.rules (Do not change) ## include makefile.rules (Do not change)
## ##
##-------------------------------------- ##--------------------------------------
include Makefile.rules MAKE_INCLUDE = ../../include
include $(MAKE_INCLUDE)/Makefile.rules

View File

@@ -95,4 +95,5 @@ COVER_REPORT_PATH = ./output
## include makefile.rules (Do not change) ## include makefile.rules (Do not change)
## ##
##-------------------------------------- ##--------------------------------------
include Makefile.rules MAKE_INCLUDE = ../../include
include $(MAKE_INCLUDE)/Makefile.rules

View File

@@ -95,4 +95,5 @@ COVER_REPORT_PATH = ./output
## include makefile.rules (Do not change) ## include makefile.rules (Do not change)
## ##
##-------------------------------------- ##--------------------------------------
include Makefile.rules MAKE_INCLUDE = ../../include
include $(MAKE_INCLUDE)/Makefile.rules

View File

@@ -95,4 +95,5 @@ COVER_REPORT_PATH = ./output
## include makefile.rules (Do not change) ## include makefile.rules (Do not change)
## ##
##-------------------------------------- ##--------------------------------------
include Makefile.rules MAKE_INCLUDE = ../../include
include $(MAKE_INCLUDE)/Makefile.rules

View File

@@ -95,4 +95,5 @@ COVER_REPORT_PATH = ./output
## include makefile.rules (Do not change) ## include makefile.rules (Do not change)
## ##
##-------------------------------------- ##--------------------------------------
include Makefile.rules MAKE_INCLUDE = ../../include
include $(MAKE_INCLUDE)/Makefile.rules

View File

@@ -92,4 +92,5 @@ COVER_REPORT_PATH = ./ut/ut_doc/output
## include makefile.rules (Do not change) ## include makefile.rules (Do not change)
## ##
##-------------------------------------- ##--------------------------------------
include Makefile.rules MAKE_INCLUDE = ../../include
include $(MAKE_INCLUDE)/Makefile.rules