Опитвах се да направя нещо подобно в makefile:
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 ...
така че възможно ли е просто да свържете обектни файлове заедно, за да избегнете дълги мили редове в makefile и да разбиете процеса на изграждане малко повече?