Для школьного проекта мне нужно создать Makefile, который компилирует подкаталоги без использования других Makefile. Я имею в виду, что мне не разрешено делать это:
make -C <sub-folder>
Вот как это выглядит:
На местном:
./Makefile
./sub
./sub2
А в подкаталоге:
./sub/file1.c
./sub/file2.c
./sub/file3.c
./sub/file4.c
./sub2/file1.c
./sub2/file2.c
./sub2/file3.c
./sub2/file4.c
Вот что я сделал до сих пор, но я продолжаю получать ошибки:
CC = gcc -W -Wall -Werror
NAME = test
NAME2 = test2
SRCS = sub/file1.c \
sub/file2.c \
sub/file3.c \
sub/file4.c
SRCS2 = sub2/file1.c \
sub2/file2.c \
sub2/file3.c \
sub2/file4.c
OBJS = $(SRCS:.c=.o)
OBJS2 = $(SRCS2:.c=.o)
all:
$(OBJS)
$(CC) $(OBJS) -o $(NAME)
$(OBJS2)
$(CC) $(OBJS2) -o $(NAME2)
Спасибо, Еписмен.
[ПРАВИТЬ] Отредактировал мою проблему
Моя проблема немного изменилась. Мне нужно скомпилировать в один и тот же Makefile, всегда с одинаковыми правилами, два разных бинарных файла. Я попытался следовать тому, что сработало для одного, но, похоже, не сработало для двоих. Если у вас есть какие-либо советы, пожалуйста, дайте мне знать.
Отправленный код работает, но компилирует только первый двоичный файл.