вам нужно добавить правило, чтобы указать make
, как воссоздать main.o
, начиная с main.dats
. Для файлов C make знает, что делать, а для .dats
файлов - нет. В частности, вы должны изменить:
main.o : main.dats
с
main.o : main.dats
(your-compiler) (your-compiler-options) -o main.o main.dats
(при условии, что в вашем компиляторе используется синтаксис для указания входных и выходных файлов)
ВАЖНО: отступ во второй (и последующих) строках должен выполняться с помощью табуляции, а не пробелов, потому что так работает make.
В вашем случае (при условии, что .dats
является расширением для динамического языка ATS), я думаю, что это должно быть
main.o : main.dats
patscc -c -o main.o main.dats
edit: если у вас есть более одного .dats
файла для компиляции, вы можете добавить общее правило, которое учит make
вызывать правильный компилятор для них (спасибо Тоби за синтаксис)
%.o : %.dats
patscc -c -o $@ $<
Я не уверен, что является приоритетом для приложения, когда присутствуют оба main.c
и main.dats
(вероятно, правило, указанное вручную, имеет приоритет)