• 通过DEFINE 生存config.h 配置


    DEFINES += \
        BOARD=$(PROJECT) \
        PROJECT_$(PROJECT)=1 \
        TARGET_$(TARGET)=1 \
        PLATFORM_$(PLATFORM)=1 \
        ARCH_$(ARCH)=1 \
        $(addsuffix =1,$(addprefix WITH_,$(ALLMODULES)))

    # debug build?
    ifneq ($(DEBUG),)
    DEFINES += \
        DEBUG=$(DEBUG)
    endif

    ALLOBJS := $(addprefix $(BUILDDIR)/,$(ALLOBJS))

    DEPS := $(ALLOBJS:%o=%d)

    # default to no ccache
    CCACHE ?=
    CC := $(CCACHE) $(TOOLCHAIN_PREFIX)gcc
    LD := $(TOOLCHAIN_PREFIX)ld
    OBJDUMP := $(TOOLCHAIN_PREFIX)objdump
    OBJCOPY := $(TOOLCHAIN_PREFIX)objcopy
    CPPFILT := $(TOOLCHAIN_PREFIX)c++filt
    SIZE := $(TOOLCHAIN_PREFIX)size
    NM := $(TOOLCHAIN_PREFIX)nm

    # comment out or override if you want to see the full output of each command
    NOECHO ?= @

    # the logic to compile and link stuff is in here
    include make/build.mk

    clean: $(EXTRA_CLEANDEPS)
        rm -f $(ALLOBJS) $(DEPS) $(GENERATED) $(OUTBIN) $(OUTELF) $(OUTELF).lst

    spotless:
        rm -rf build-*

    install: all
        scp $(OUTBIN) 192.168.0.4:/tftproot

    # generate a config.h file with all of the DEFINES laid out in #define format
    configheader:

    $(CONFIGHEADER): configheader
        @$(MKDIR)
        @echo generating $@
        @rm -f $(CONFIGHEADER).tmp; \
        echo \#ifndef __CONFIG_H > $(CONFIGHEADER).tmp; \
        echo \#define __CONFIG_H >> $(CONFIGHEADER).tmp; \
        for d in `echo $(DEFINES) | tr [:lower:] [:upper:]`; do \
            echo "#define $$d" | sed "s/=/\ /g;s/-/_/g;s/\//_/g" >> $(CONFIGHEADER).tmp; \
        done; \
        echo \#endif >> $(CONFIGHEADER).tmp; \
        if [ -f "$(CONFIGHEADER)" ]; then \
            if cmp "$(CONFIGHEADER).tmp" "$(CONFIGHEADER)"; then \
                rm -f $(CONFIGHEADER).tmp; \
            else \
                mv $(CONFIGHEADER).tmp $(CONFIGHEADER); \
            fi \
        else \
            mv $(CONFIGHEADER).tmp $(CONFIGHEADER); \
        fi


  • 相关阅读:
    POJ3258River Hopscotch(二分)
    POJ3273Monthly Expense(二分)
    POJ1002487-3279(map)
    HDU 3123 GCC
    POJ2031Building a Space Station
    POJ3096Surprising Strings(map)
    模板类
    POJ1265Area
    【ZZ】C 语言中的指针和内存泄漏 & 编写高效的C程序与C代码优化
    学习笔记之MySQL
  • 原文地址:https://www.cnblogs.com/yuzaipiaofei/p/4124185.html
Copyright © 2020-2023  润新知