Я пытаюсь создать файл makefile для моего проекта, но я действительно не понимаю эту черту.build makefile с различными папками в приложении
Когда я делал это на Java, с муравьем, это было намного проще.
Структура моей программы: http://imageshack.com/a/img39/6592/jsxa.png
Я читал о создании мейкфайлов, но, когда они отвечают на вопрос похожи, они просто положить сделаны Makefile и не объясняют много о том, что они делают.
Итак, мне нужно сделать make-файл, который находится в папке с именем foo (foo/makefile) вместе с папкой src (foo/src /). Файл makefile должен создать папку с именем bin (foo/bin /) и поместить туда * .o файлы. Затем создайте программу (DisqueRango.cpp contais main function) и запустите ее, используя 4 аргумента: «-e couriers.csv -c menu.csv».
Я не прошу сделать makefile. Мне нужно объяснение того, что мне нужно сделать самому.
Благодарю вас.
Makefile ЦСИ/клиентов/
CC := g++
OBJ = *.cpp
all: prog
prog:
$(CC) -c $(OBJ)
Makefile из SRC/disquerango/(contais основная функция)
CC := g++
BASEDIR := ..
MODULES := clients couriers products read requests
OBJS := $(addsuffix /*.o, $(addprefix $(BASEDIR)/,$(MODULES)))
.PHONY: clean
all:
$(CC) -o disquer DisqueRango.cpp $(OBJS)
и Makefile, которые называют их все (же папка ЦСИ):
CC := g++
BASEDIR := src
PROJN := disquerango
MODULES := clients couriers products read requests disquerango
OBJS := $(addprefix $(BASEDIR)/,$(MODULES))
all: compila run limpa
compila:
for dir in $(OBJS); do (cd $$dir; ${MAKE} all); done
run: compila
./$(BASEDIR)/$(PROJN)/disquer -e entregadores.csv -c cardapio.csv
limpa:
rm -f $(BASEDIR)/$(PROJN)/disquer
for dir in $(OBJS); do (cd $$dir; rm -f *.o); done
Почему у вас есть каталоги внутри вашего проекта? Зачем? Вы собираетесь создать часть своего проекта в качестве библиотеки многократного использования? См. [this] (http://stackoverflow.com/a/20146082/841108) & [that] (http://stackoverflow.com/a/21423765/841108) отвечает ... –
У меня есть каталоги, потому что учитель хочет этого , Это проект выпускного класса. – ddz
Прочитайте [рекурсивный считать считающимся вредным] (http://miller.emu.id.au/pmiller/books/rmch/). –