Я хотел бы проверить, существует ли файл в Makefile и запустить рецепт, если он не существует, и остановиться после его создания, иначе продолжить работу с файлом, который существует, и выполнить больше рецептов. Думаю, лучше всего это проиллюстрировать на примере моего Makefile:
GEN_C_FILES: GEN_C_FLS
$(shell cat $(DESIGN_TOP).c.tmp c_template.c.tmp > $(DESIGN_TOP).c )
$(DESIGN_TOP).c:
$(MAKE) GEN_C_FILES
@(echo $(DESIGN_TOP).c created and modify it to suit the design before running COMPILE)
exit 1
COMPILE: $(DESIGN_TOP).c
@(echo bsub -I compile_script-batch $(DESIGN_TOP).c -log $(DESIGN_TOP).log)
@(bsub -I compile_script -batch $(DESIGN_TOP).c -log $(DESIGN_TOP).log)
Я могу выполнить то, что хочу, но при выходе появляется сообщение об ошибке. Я хочу, чтобы он завершился, если выполняется рецепт $ (DESIGN_TOP) .c, но если рецепт не выполняется, файл существует, поэтому его не нужно создавать, а остальная часть цели COMPILE должна завершиться путем запуска компиляции на bsub. Есть ли лучший способ сделать это без генерации ошибки при выходе? Спасибо