<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    通用多目錄makefile的寫法

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接

    我的項目文件層次是:項目名稱/include、output、src

    src/admin、stu、tch、common

    最外層的Makefile:

    DEBUG = y
    MYDEBUG = DEBUG
    ifeq ($(DEBUG),y)
    DEBFLAGS = -O -g -D$(MYDEBUG)
    else
    DEBFLAGS =
    endif

    PRJ_HOME := $(shell pwd)
    SOURCES := $(wildcard *.c)
    OBJECTS := ${SOURCES:%.c=%.o}
    INCPATH := -I$(PRJ_HOME)/include -I./

    export CFLAGS += $(INCPATH)  $(DEBFLAGS)
    export CC = gcc
    export OUTPUTDIR = $(PRJ_HOME)/output

    PROGRAM = system_stu
    VPATH = ${OUTPUTDIR}

    .PHONY : all
    all : ${PROGRAM}

    ${PROGRAM} : ${OBJECTS} oadmin ocommon ostu otch
     $(CC) -o $@ ${OUTPUTDIR}/*.o $(CFLAGS)
    %.o:%.c
     $(CC) -o ${OUTPUTDIR}/$@ -c $< $(CFLAGS)

    oadmin :
     @$(MAKE) -C src/admin/
    ocommon :
     @$(MAKE) -C src/common/
    ostu :
     @$(MAKE) -C src/stu/
    otch :
     @$(MAKE) -C src/tch/

    .PHONY : clean
    clean :
     $(RM) ${OUTPUTDIR}/*.o *.o ${PROGRAM} 

     

     

    子目錄的Makefile:

    SOURCES := $(wildcard *.c)
    OBJECTS := ${SOURCES:%.c=%.o}
    VPATH = $(OUTPUTDIR)

    all : ${OBJECTS}
    %.o:%.c
     $(CC) -o ${OUTPUTDIR}/$@ -c $< $(CFLAGS)
    clean :

    RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全