drem1lin
@drem1lin
чуть программист, чуть чуть админ...

Как правильно сделать Makefile?

Я только недавно начал разрабатывать под Linux и Android и захотел сделать Makefile для удобной сборки всех компонентов, а их на данный момент три, есть два проекта под андроид, собираются ndk-build и один проект собирается через make и собирает программку.
Я попробовал сделать makefile, но столкнулся с проблемой, что запустив makefile из родительской директории, то выполняя cd вхожу в папку, но выполняя ndk-build выполнение идет все равно из родительской директории и не находит необходимых файлов. И то же самое с обычным linux проектом. Как сделать, что бы команды выполнялись из той директории, куда я перешел скриптом сборки?
  • Вопрос задан
  • 467 просмотров
Решения вопроса 1
CityCat4
@CityCat4
//COPY01 EXEC PGM=IEBGENER
Тут два варианта.

Либо в обработке мишени все выполнять "одной командой", либо написать еще несколько Makefile и разложить по каталогам. Крупные проекты обычно используют второй путь.

Вот пример первого пути:
dist: realclean
        (cd .. \
           && $(RM) -f $(DSTNAME) && $(LN) -s $(BINARY) $(DSTNAME) \
           && $(TAR) chyf $(DSTNAME).tar.bz2 $(DSTNAME) && cd $(DSTNAME))

общий принцип - в одной команде записываются все действия. Это не сильно удобно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы