Makefile рекурсия все подсистемы всегда в курсе - PullRequest
0 голосов
/ 20 января 2019

Я пытаюсь создать рекурсивный make-файл, но make просто сообщает, что все мои подсистемы обновлены, когда в подкаталогах нет объектных файлов, исполняемых файлов или даже make-файлов.

    coco:
        if [ ! -f ./CoCo/makefile ]; then cp ./CoCo/Makefiles/Linux/makefile ./CoCo ;fi 
        $(MAKE) -C CoCo

    becker:
        if [ ! -f ./becker/makefile ]; then cp ./becker/Makefiles/Linux/makefile ./becker ;fi
        $(MAKE) -C becker
    ...

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

И, наконец, как мне сделать все подсистемы одной командой вроде (сделать все)?

1 Ответ

0 голосов
/ 21 января 2019

попробуйте добавить .PHONY: coco becker в начало вашего makefile, тогда он должен выполнить эти цели, даже если существуют жесткие каталоги с такими же именами

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...