我有以下示例:
LIST_JOB = job1 job2 job3
define macro
$(info "JOB: $(1)")
job_$(1): job.f90
ifort -c job.f90
$(shell touch job.f90)
endef
all: rule
rule: $(foreach job,$(LIST_JOB), job_$(job))
$(foreach job,$(LIST_JOB), \
$(eval $(call macro,$(job))) \
)
首先打印$(info "JOB: $(1)")
行,然后打印编译命令:
"JOB: job1"
"JOB: job2"
"JOB: job3"
ifort -c job.f90
ifort -c job.f90
ifort -c job.f90
有没有办法在编译之前打印标题行(当然,同时保持macro
循环foreach
)?这意味着以下顺序:
"JOB: job1"
ifort -c job.f90
"JOB: job2"
ifort -c job.f90
"JOB: job3"
ifort -c job.f90