Если у двух программ есть файл main.c, вам нужно поместить их в две отдельные директории. Затем напишите make-файл в каждом каталоге и make-файл в верхнем каталоге, который повторяется в этих двух субмаке-файлах.
/
Makefile
prog0/
Makefile
main.c
...
prog1/
Makefile
main.c
...
prog0 / Makefile будет выглядеть так:
all: prog0
prog0: prog0.o
$(LINK.c) $(OUTPUT_OPTION) $^
Повторите для прог1. Затем в родительском каталоге напишите рекурсивный make-файл:
all:
$(MAKE) --directory prog0 all
$(MAKE) --directory prog1 all