Makefile, который компилирует все файлы cpp в каталоге в отдельный исполняемый файл

Сейчас я изучаю C++. Мне нужен make-файл, который скомпилирует все файлы cpp в текущем каталоге для разделения исполняемых файлов.Например:

В каталоге есть 3 файла c++, такие как examp1.cpp, examp2.cppи examp3.cpp. Мне нужен make-файл, который скомпилирует и свяжет их и даст examp1.exe, examp2.exe и examp3.exe

Я создал сценарий bash, чтобы скомпилировать их все и создать исполняемые файлы, но я думаю; это не точный способ сделать это.

У меня есть Makefile для ".c", но здесь он не работает. Он только создает объектные файлы, а не связывает их. Это выглядит следующим образом:

SRCS=$(wildcard *.c)
OBJS=(SRCS:.c=.o)
all: $(OBJS)

Приведенный выше код компилирует все новые и измененные файлы ".c" в файлы ".o" с тем же именем в текущем каталоге.

Сценарий bash, который я использую для создания исполняемых файлов, выглядит следующим образом:

for i in ./*.cpp
do
   g++ -Wno-deprecated $i -o `basename $i .cpp`".exe"
done

Это означает, что я хочу, чтобы любые файлы «.cpp», которые я поместил в этот каталог, с помощью простого «сделать все» или что-то в этом роде, он должен был скомпилироваться. .

8
задан kaushik 20 March 2012 в 14:54
поделиться