У меня есть эта makefile
Сохранить объектные файлы в одном каталоге Makefile, используя в зависимости
appname := fun
srcfiles := $(shell find .. -name "*.cpp")
headerfiles := $(shell find .. -name "*.hpp")
objects := $(patsubst %.cpp, %.o, $(srcfiles))
all: $(srcfiles) $(appname)
$(appname): $(objects)
$(CXX) $(LDFLAGS) -o $(appname) $(objects) $(LDLIBS)
depend: .depend
.depend: $(srcfiles) $(headerfiles)
rm -f ./.depend
$(CXX) $(CXXFLAGS) -MM $^>>./.depend;
clean:
rm -f $(appname) $(objects)
dist-clean: clean
rm -f *~ .depend
include .depend
Где makefile
«s родительский каталог содержит весь код (.hpp
и .cpp
файлов). К сожалению, файлы .o
сохраняются в исходном коде, а я хочу, чтобы они были сохранены в том же каталоге исполняемого файла (и makefile
). То же самое относится к Default
в Eclipse CDT.
Как я могу изменить makefile
, чтобы сделать это?
PS: Я нашел похожие вопросы, например this, но один из них не использовал depend
для определения задачи $(objects)
(все они в форме% .o%).