Я пытался сделать что-то подобное в make-файле:
program.exe: ui.o main.o
gcc ......etc
ui.o: window1.o window2.o
gcc -c window1.o window2.o -o ui.o #this doesn't want to work
window1.o: window1.c window1.h window1_events.c window1_controls.c ...
gcc -c window1.c window1_events.c window1_controls.c... -o window1.o
window2.o: ...
gcc ...
main.o: ...
gcc ...
но когда я компилирую подобным образом, появляется сообщение об ошибке «входной файл не используется, потому что связывание не выполнено», а затем я получаю кучу неразрешенных внешних элементов и т. д. - проблемы, которые решаются путем изменения
program.exe: ui.o main.o
gcc ...
to
program.exe: window1.o window2.o main.o
gcc ...
так можно ли просто связать объектные файлы вместе, чтобы избежать длинных строк в make-файле и еще больше нарушить процесс сборки?