通过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


转载于:https://www.cnblogs.com/yuzaipiaofei/archive/2012/06/27/4124185.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值