- 论坛徽章:
- 4
|
本帖最后由 uudiin 于 2014-11-02 16:02 编辑
我的一个目录下有好几个C文件,每个C文件会都会生成一个目标程序
因此通过define定义每个程序共同的生成法则,但是make的时候没有执行到我的规则,好像是执行了make的隐含规则
望高人指教,在此谢过
部分主要 Makefile如下:- PROGS = blink_act motor breath_led pwm
- SRCS_blink_act = blink_act.c
- SRCS_motor = motor.c
- SRCS_breath_led = breath_led.c
- SRCS_pwm = pwm.c
- $(foreach prog, $(PROGS), $(eval OBJS_$(prog) = $(SRCS_$(prog):%.c=%.o)))
- .PHONY: all clean
- all: $(PROGS)
- define PROG_template =
- $(1): $(OBJS_$(1))
- $(LD) $(LDFLAGS) -o $@ $^
- endef
- $(foreach prog, $(PROGS), $(eval $(call PROG_template, $(prog))))
复制代码 |
|