Makefile控制编译的.c列表


代码,是通过顶层的Makefile,逐层递归进行编译。

如果,想在某一个或者某几个子目录里,进行相关的.c文件,区分化编译,可在顶层Makefile里添加编译选项


例如

子目录的Makefile 有类似语句

ifdef SPECIAL_MACRO

....

        ....

endif

EXEC = display
OBJS = fram.o dev_ctrl.o lcd_infor.o rx8025.o \
	soft_dog.o datafmtcvt.o comfunc.o crcalg.o disp_drv.o lcd_ipc.o\
	ipc_com.o lcd_infor_arch.o gpio_ctrl_unit.o lcd_manner.o parameter_modify.o lcd_server.o\
	 sharemem.o crit_sig.o simple_queue.o emt_read_ms.o database_rd.o flash.o \
ifdef PROVINCE_CHONGQING
	lcd_infor_cq.o \
endif
	data_saver.o tpfun.o tpmanager.o tpdebug.o cq_day_save.o file.o frame_log.o cfg_ini_misc.o \


顶层的Makefile里需要添加类似的加粗的语句

make -C $directory SPECIAL_MACRO=1 

make -C $$dir PROVINCE_CHONGQING=1 || exit $?


你可能感兴趣的:(makefile)