Ответы пользователя по тегу GNU Make
  • Как исправить "npm not found"?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Значит либо npm в пути отсутстсвует, либо там жестко путь прописан, а npm там нет.
    Ответ написан
    Комментировать
  • Как исправить данные ошибки при компиляции?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    При линковке программы линкер не обнаружил среди указанных ему библиотек той, которая содержала бы перечисленные в ошибках функции, нужно подключить библиотеку

    (И, если это не преднамеренный стеб - переименовать учетку - как-то смешно выглядят элементарные вопросы от юзера с ником LinuxGod :ROFL: )
    Ответ написан
    Комментировать
  • Зачем нужны зависимости в make?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Чтобы в том случае, если к моменту выполнения make изменился main.c ИЛИ hello.c, каждый из них был бы заново откомпилирован. Если этого не сделать - есть риск, что исходник лежит более новый, а в бинарь будет включен более старый обьектный модуль.
    Ответ написан
    Комментировать
  • Почему ошибка "recipe for target 'XXX.o' failed" при компиляции?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Именно данное сообщение не означает ничего. Кроме того, что при выполнении компиляции файла(ов) исходного текста для мишени libbitcoin_server_a-checkpoints.о возникла ошибка. Какая - а фиг его знает, ищите в логах :)
    Ответ написан
    Комментировать
  • Как правильно сделать Makefile?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Тут два варианта.

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

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

    общий принцип - в одной команде записываются все действия. Это не сильно удобно.
    Ответ написан
    6 комментариев
  • Как добавить путь к инклудам в системные пути gcc?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Никак. Системные пути hardcoded. Изменить их можно только пересборкой самого gcc. Makefile для того и служит, чтобы прописать все необходимые пути и прочее. И именно поэтому поверх него накрутили столько всяческих вещей - pkgconfig, autotools, cmake - они все вроде как призваны облегчать работу программиста по формированию проекта, но на самом деле запросто способны его в хлам запутать, особенно cmake :)

    Если Вы задумались над переносимостью проекта - то Вам либо с autotools разбираться (хотя с ними придется разобраться в любом случае), либо с cmake.
    Ответ написан
    6 комментариев
  • Как добавить include и Lib в существующий makefile?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    include добавить в CFLAGS и CXXFLAGS, либы в LDLIBS
    Ответ написан