Госпада! Подскажите, что тут не так:Есть проект, который состоит из файлов .c и .ec. Последние пропускаются через некий парсер, результат работы парсера файл .c
Есть Makefile:
.ec.c:
${ESQL} $^
.c.o:
$(CC) $(DEFS) -c $^repo2dbf: repo2dbf.o common.o dbfengine.o sqlengine.o
$(CC) $(DEFS) $(CFLAGS) $^ $(LIBS) ${ADD_LIBS} -o ${OUTDIR}/$@${EXT}
${STRIP} ${OUTDIR}/$@${EXT}Так вот. sqlengine.o как раз и должен получаться из sqlengine.c, который в свою очередь получается из sqlengine.ec И все бы хорошо, но GNU Make упрямо не хочет запускать цель .ec.c: что бы получить sqlengine.c, что бы получить sqlengine.o
В Borland Make такое пракатывало. А как будет правильно для GNU Make?
Спасибо
>Госпада! Подскажите, что тут не так:
>
>Есть проект, который состоит из файлов .c и .ec. Последние пропускаются через
>некий парсер, результат работы парсера файл .c
>
>Есть Makefile:
>.ec.c:
> ${ESQL} $^
>.c.o:
> $(CC) $(DEFS) -c $^
>
>repo2dbf: repo2dbf.o common.o dbfengine.o sqlengine.o
> $(CC) $(DEFS) $(CFLAGS) $^ $(LIBS) ${ADD_LIBS} -o ${OUTDIR}/$@${EXT}
> ${STRIP} ${OUTDIR}/$@${EXT}
>
>Так вот. sqlengine.o как раз и должен получаться из sqlengine.c, который в
>свою очередь получается из sqlengine.ec И все бы хорошо, но GNU
>Make упрямо не хочет запускать цель .ec.c: что бы получить sqlengine.c,
>что бы получить sqlengine.o
>
>В Borland Make такое пракатывало. А как будет правильно для GNU Make?
>
>
>Спасибопопробуй добавить зависимости
sqlengine.c: sqlengine.ec
sqlengine.o: sqlengine.c
но, возможно, это избыточно
>попробуй добавить зависимости
>
>sqlengine.c: sqlengine.ec
>
>sqlengine.o: sqlengine.c
>
>но, возможно, это избыточноПробывал. Не помогает. Помогает только
sqlengine.c: sqlengine.ec
${ESQL} $^Но этого хотелось бы избежать, так как .ec файлов будет много. Хотелось бы автоматизма...
>Госпада! Подскажите, что тут не так:
>
>Есть проект, который состоит из файлов .c и .ec. Последние пропускаются через
>некий парсер, результат работы парсера файл .c
>
>Есть Makefile:
>.ec.c:
> ${ESQL} $^
>.c.o:
> $(CC) $(DEFS) -c $^
>
>repo2dbf: repo2dbf.o common.o dbfengine.o sqlengine.o
> $(CC) $(DEFS) $(CFLAGS) $^ $(LIBS) ${ADD_LIBS} -o ${OUTDIR}/$@${EXT}
> ${STRIP} ${OUTDIR}/$@${EXT}
>
>Так вот. sqlengine.o как раз и должен получаться из sqlengine.c, который в
>свою очередь получается из sqlengine.ec И все бы хорошо, но GNU
>Make упрямо не хочет запускать цель .ec.c: что бы получить sqlengine.c,
>что бы получить sqlengine.o
>
>В Borland Make такое пракатывало. А как будет правильно для GNU Make?
>
>
>Спасибо.SUFFIXES: .ec
?
Первой строчкой?
>.SUFFIXES: .ec
>?
>Первой строчкой?Точно! Спасибо.
%.c: %.ec
$(ESQL) $<