⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 Open DMT Client C Source code
💻
字号:
#DEBUG_OPT = -DDEBUG_COMPILE# -----------------------------------------------------------------------------# --- usage.PHONY : usageusage:	@echo "Usage: make dest={gumstix|linux|cygwin} <target>"	@echo "Targets:"	@echo "    libs        - build libraries (base, module, tools)"	@echo "    dmtp        - build DMTP client with default support"	@echo "    dmtp_file   - build DMTP client with File support"	@echo "    dmtp_gprs   - build DMTP client with GPRS support"	@echo "    dmtp_socket - build DMTP client with Socket support"	@echo "    dmtp_serial - build DMTP client with Serial support"	@echo "    sockserv    - build simple sample socket server"	@echo "    scomserv    - build simple sample serial server"	@echo "    parsefile   - build DMTP packet file parser"	@echo "    clean       - clean build files"# -----------------------------------------------------------------------------# --- commands/constantsCHMOD = /bin/chmodifeq ($(findstring Windows,$(OS)),Windows)  FIND = /bin/findelse  FIND = /usr/bin/findendif# -----------------------------------------------------------------------------include make/common.mk# -----------------------------------------------------------------------------# --- tools libraryTOOLS_SRC   := tools/checksum.c tools/base64.c tools/bintools.c tools/buffer.c tools/gpstools.cTOOLS_SRC   += tools/strtools.c tools/utctools.c tools/threads.c tools/sockets.c tools/io.cTOOLS_SRC   += tools/comport.c tools/random.cTOOLS_OBJ   := $(TOOLS_SRC:%.c=$(OBJ_DIR)/%.o)# --- base libraryBASE_SRC    := base/mainloop.c base/propman.c base/event.cBASE_SRC    += base/events.c base/packet.c base/pqueue.c base/protocol.c base/accting.c base/upload.cBASE_OBJ    := $(BASE_SRC:%.c=$(OBJ_DIR)/%.o)# --- modules libraryMODULE_SRC  := modules/odometer.c modules/motion.cMODULE_SRC  += modules/geozone.cMODULE_OBJ  := $(MODULE_SRC:%.c=$(OBJ_DIR)/%.o)# --- server commonCOMSERV_SRC := server/log.c server/packet.c server/events.c server/protocol.c server/upload.cCOMSERV_SRC += server/geozone.c# --- socket serverSKSERVE_SRC := $(COMSERV_SRC) server/sock/server.c server/sock/main.cSKSERVE_OBJ := $(SKSERVE_SRC:%.c=$(OBJ_DIR)/%.o)# --- serial serverSCSERVE_SRC := $(COMSERV_SRC) server/serial/server.c server/serial/main.cSCSERVE_OBJ := $(SCSERVE_SRC:%.c=$(OBJ_DIR)/%.o)# --- event packet file parserPARSFIL_SRC := base/packet.c parsfile/main.c parsfile/parsfile.c parsfile/log.c parsfile/events.cPARSFIL_OBJ := $(PARSFIL_SRC:%.c=$(OBJ_DIR)/%.o)# --- uploaded file encoder (if available)ENCODE_SRC  := encode/log.c encode/encode.cENCODE_OBJ  := $(ENCODE_SRC:%.c=$(OBJ_DIR)/%.o)# -----------------------------------------------------------------------------# --- create libs.PHONY : libslibs: $(MISSING) tools modules base# -----------------------------------------------------------------------------# --- 'libtools.a'# --- 'tools' target.PHONY : toolstools: $(MISSING) tools_dirs $(TOOLS_OBJ)	@echo ""	@echo "Make '$(LIB_DIR)/libtools.a' ..."	$(AR) rc $(LIB_DIR)/libtools.a $(TOOLS_OBJ)	$(RANLIB) $(LIB_DIR)/libtools.a# --- create build directory.PHONY : tools_dirstools_dirs: $(MISSING)	@echo ""	@echo "Make tools dirs ..."	$(MKDIR) -p $(OBJ_DIR)	$(MKDIR) -p $(OBJ_DIR)/tools	$(MKDIR) -p $(LIB_DIR)	@echo ""# -----------------------------------------------------------------------------# --- 'libbase.a'# --- 'base' target.PHONY : basebase: $(MISSING) base_dirs $(BASE_OBJ)	@echo ""	@echo "Make '$(LIB_DIR)/libbase.a' ..."	$(AR) rc $(LIB_DIR)/libbase.a $(BASE_OBJ)	$(RANLIB) $(LIB_DIR)/libbase.a# --- create build directory.PHONY : base_dirsbase_dirs: $(MISSING)	@echo ""	@echo "Make base dirs ..."	$(MKDIR) -p $(OBJ_DIR)	$(MKDIR) -p $(OBJ_DIR)/base	$(MKDIR) -p $(LIB_DIR)	@echo ""# -----------------------------------------------------------------------------# --- 'libmodule.a'# --- 'module' target.PHONY : modulesmodules: $(MISSING) module_dirs $(MODULE_OBJ)	@echo ""	@echo "Make '$(LIB_DIR)/libmodule.a' ..."	$(AR) rc $(LIB_DIR)/libmodule.a $(MODULE_OBJ)	$(RANLIB) $(LIB_DIR)/libmodule.a# --- create build directory.PHONY : module_dirsmodule_dirs: $(MISSING)	@echo ""	@echo "Make module dirs ..."	$(MKDIR) -p $(OBJ_DIR)	$(MKDIR) -p $(OBJ_DIR)/modules	$(MKDIR) -p $(LIB_DIR)	@echo ""# -----------------------------------------------------------------------------.PHONY : sockservsockserv: $(MISSING) sockserv_exe.PHONY : sockserv_dirssockserv_dirs: $(MISSING)	@echo ""	@echo "Make socket 'sockserv' object dirs ..."	$(MKDIR) -p $(OBJ_DIR)/server	$(MKDIR) -p $(OBJ_DIR)/server/sock	$(RM) -rf $(OBJ_DIR)/tools	$(MKDIR) -p $(OBJ_DIR)/tools	@echo "".PHONY : sockserv_exesockserv_exe: OPTIONS+=-DENABLE_SERVER_SOCKETsockserv_exe: $(MISSING) sockserv_dirs $(TOOLS_OBJ) $(SKSERVE_OBJ)	@echo ""	@echo "Linking 'sockserv' ..."	$(CC) -o $(OBJ_DIR)/server/sockserv$(EXE_EXT) $(CFLAGS) $(SOLIBS) $(TOOLS_OBJ) $(SKSERVE_OBJ)	@echo ""	@echo "Stripping 'sockserv' ..."	$(STRIP) $(OBJ_DIR)/server/sockserv$(EXE_EXT)	$(LS) -laF $(OBJ_DIR)/server/sockserv$(EXE_EXT)	$(CP) $(OBJ_DIR)/server/sockserv$(EXE_EXT) $(BUILD_DIR)/sockserv$(EXE_EXT)	@echo "+++++ Created 'sockserv' ..."	@echo ""# -----------------------------------------------------------------------------.PHONY : scomservscomserv: $(MISSING) scomserv_exe.PHONY : scomserv_dirsscomserv_dirs: $(MISSING)	@echo ""	@echo "Make serial 'scomserv' object dirs ..."	$(MKDIR) -p $(OBJ_DIR)/server	$(MKDIR) -p $(OBJ_DIR)/server/serial	@echo "".PHONY : scomserv_exescomserv_exe: $(MISSING) tools scomserv_dirs $(SCSERVE_OBJ)	@echo ""	@echo "Linking 'scomserv' ..."	$(CC) -o $(OBJ_DIR)/server/scomserv$(EXE_EXT) $(CFLAGS) $(SOLIBS) $(SCSERVE_OBJ) -L$(LIB_DIR) -ltools	@echo ""	@echo "Stripping 'scomserv' ..."	$(STRIP) $(OBJ_DIR)/server/scomserv$(EXE_EXT)	$(LS) -laF $(OBJ_DIR)/server/scomserv$(EXE_EXT)	$(CP) $(OBJ_DIR)/server/scomserv$(EXE_EXT) $(BUILD_DIR)/scomserv$(EXE_EXT)	@echo "+++++ Created 'scomserv' ..."	@echo ""# -----------------------------------------------------------------------------.PHONY : parsfileparsfile: $(MISSING) parsefile.PHONY : parsefileparsefile: $(MISSING) parsefile_title parsefile_exe# --- display 'parsefile' title.PHONY : parsefile_titleparsefile_title: 	@echo ""	@echo "Making DMTP file packet parser ..."# --- create build directory.PHONY : parsefile_dirsparsefile_dirs: $(MISSING)	@echo ""	@echo "Make parsefile object dirs ..."	$(MKDIR) -p $(OBJ_DIR)/base	$(MKDIR) -p $(OBJ_DIR)/parsfile	@echo ""# --- create binary 'parsfile'.PHONY : parsefile_exeparsefile_exe: $(MISSING) tools parsefile_dirs $(PARSFIL_OBJ)	@echo ""	@echo "Linking 'parsfile' ..."	$(CC) -o $(OBJ_DIR)/parsfile/parsfile$(EXE_EXT) $(CFLAGS) $(SOLIBS) $(PARSFIL_OBJ) -L$(LIB_DIR) -ltools	@echo ""	@echo "Stripping 'parsfile' ..."	$(STRIP) $(OBJ_DIR)/parsfile/parsfile$(EXE_EXT)	$(LS) -laF $(OBJ_DIR)/parsfile/parsfile$(EXE_EXT)	$(CP) $(OBJ_DIR)/parsfile/parsfile$(EXE_EXT) $(BUILD_DIR)/parsfile$(EXE_EXT)	@echo "+++++ Created 'parsfile' ..."	@echo ""# -----------------------------------------------------------------------------.PHONY : encodeencode: $(MISSING) encode_title encode_exe# --- display 'encode' title.PHONY : encode_titleencode_title: 	@echo ""	@echo "Making DMTP upload file encoder ..."# --- create 'encode' build directory.PHONY : encode_dirsencode_dirs: $(MISSING)	@echo ""	@echo "Make upload file encoder object dirs ..."	$(MKDIR) -p $(OBJ_DIR)/encode	@echo ""# --- create binary 'encode'.PHONY : encode_exeencode_exe: $(MISSING) tools encode_dirs $(ENCODE_OBJ)	@echo ""	@echo "Linking 'encode' ..."	$(CC) -o $(OBJ_DIR)/encode/encode$(EXE_EXT) $(CFLAGS) $(SOLIBS) $(ENCODE_OBJ) -L$(LIB_DIR) -ltools	@echo ""	@echo "Stripping 'encode' ..."	$(STRIP) $(OBJ_DIR)/encode/encode$(EXE_EXT)	$(LS) -laF $(OBJ_DIR)/encode/encode$(EXE_EXT)	$(CP) $(OBJ_DIR)/encode/encode$(EXE_EXT) $(BUILD_DIR)/encode$(EXE_EXT)	@echo "+++++ Created 'encode' ..."	@echo ""# -----------------------------------------------------------------------------# --- create binary 'dmtpd' with default support.PHONY : dmtpdmtp: $(MISSING) dmtp_socket# --- create binary 'dmtpd' with default support.PHONY : dmtpddmtpd: $(MISSING) dmtp_socket# --- create binary 'dmtpd' with File support.PHONY : dmtp_filedmtp_file: XPORT_MEDIA=-DTRANSPORT_MEDIA_FILE="dmtpdata.dmt"dmtp_file: $(MISSING) libs	$(MAKE) dest=$(dest) XPORT_MEDIA='-DTRANSPORT_MEDIA_FILE="dmtpdata.dmt"' -f src/custom/custom.mk dmtpd_all# --- create binary 'dmtpd' with GPRS support.PHONY : dmtp_gprsdmtp_gprs: XPORT_MEDIA=-DTRANSPORT_MEDIA_GPRSdmtp_gprs: $(MISSING) libs	$(MAKE) dest=$(dest) XPORT_MEDIA=-DTRANSPORT_MEDIA_GPRS -f src/custom/custom.mk dmtpd_all# --- create binary 'dmtpd' with Socket support.PHONY : dmtp_socketdmtp_socket: XPORT_MEDIA=-DTRANSPORT_MEDIA_SOCKETdmtp_socket: $(MISSING) libs	$(MAKE) dest=$(dest) XPORT_MEDIA=-DTRANSPORT_MEDIA_SOCKET -f src/custom/custom.mk dmtpd_all# --- create binary 'dmtpd' with Serial support.PHONY : dmtp_serialdmtp_serial: XPORT_MEDIA=-DTRANSPORT_MEDIA_SERIALdmtp_serial: $(MISSING) libs	$(MAKE) dest=$(dest) XPORT_MEDIA=-DTRANSPORT_MEDIA_SERIAL -f src/custom/custom.mk dmtpd_all# -----------------------------------------------------------------------------# --- 'make' test (test that everything builds)# - NOTE: This doesn't build the Windows CE/Mobile packages (which requires eVC++).PHONY : maketestmaketest:	@echo; echo "----------------------------------------------------------------------"	$(MAKE) clean	@echo; echo "----------------------------------------------------------------------"	$(MAKE) clean tools	@echo; echo "----------------------------------------------------------------------"	$(MAKE) clean dmtp_file	@echo; echo "----------------------------------------------------------------------"	$(MAKE) clean dmtp_gprs	@echo; echo "----------------------------------------------------------------------"	$(MAKE) clean dmtp_socket	@echo; echo "----------------------------------------------------------------------"	$(MAKE) clean dmtp_serial	@echo; echo "----------------------------------------------------------------------"	$(MAKE) clean sockserv	@echo; echo "----------------------------------------------------------------------"	$(MAKE) clean scomserv	@echo; echo "----------------------------------------------------------------------"	$(MAKE) clean parsefile	@echo; echo "----------------------------------------------------------------------"	$(MAKE) clean encode	@echo; echo "----------------------------------------------------------------------"	$(MAKE) clean	@echo; echo "----------------------------------------------------------------------"# -----------------------------------------------------------------------------# ---

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -