1.传递宏定义
例如增加DEBUG宏,在Makefile中的CFLAGS中,直接添加
CFLAGS=-g -Wall -DDEBUG
2.判断是否存在环境变量定义,若没有出错,停下。
ifndef SDK_PATH
$(warning )
$(error Error: 'SDK_PATH' not defined.)
endif
3.在Makefile中生成环境变量文件,通过make sdk.env生成此文件,可以用source sdk.env设置环境变量;
sdk.env:
@echo creating $@...
@echo "#!/bin/sh" > $@
@echo "# Source this script to compile your modules,create by command" >> $@
@echo "# make sdk.env APP_NAME=app;" >> $@
@echo "# don't edit it" >> $@
@echo "SDK_PATH=$(shell pwd)" >> $@
@echo "export SDK_PATH" >> $@
chmod +x $@
4.把编译信息放入到文件
sh / bash 可以 make &> 1.txt
csh / tcsh 是 make >& 1.txt