У меня есть огромный Makefile, с которым я работаю и пытаюсь урезать его. Прямо сейчас он предназначен для создания нескольких различных программ с множеством опций, которые я никогда не буду использовать. Я надеюсь сначала убедиться, что код создается правильно, а затем вырезать ненужные мне части.

Перво-наперво, я хочу убедиться, что мой код компилируется с -o3 (много оптимизаций), но я не уверен, что это так. Я вижу кусок Makefile, который говорит:

ifeq ($(findstring $(CFLAGS),-O),)
    CFLAGS_COMMON += -O3
    # only add -O3 if no -O flag is in $(CFLAGS)
endif

который обеспечивает некоторое утешение ... но разве не должен быть установлен флаг -O, чтобы он вообще компилировался, отрицая оператор if?

Вот весь Makefile:http://textuploader.com/bj98

1 ответ1

1
LDFLAGS            ?=
CFLAGS             ?=
CXXFLAGS           ?=
CPPFLAGS           ?=
LIBS               ?=
RADIANT_ABOUTMSG   ?= Custom build

Я бы добавил -O3 к CPPFLAGS , CXXFLAGS и CFLAGS . НО:

Это только изменит код измененных файлов вашего проекта. Чтобы убедиться, что все ваши файлы перекомпилированы, сначала make clean . НО:

Это не гарантирует внешне связанные файлы, такие как библиотеки. Обычно они не компилируются с -O3 . Если вы хотите убедиться, что это так, вам придется также перекомпилировать все библиотеки (не забывая изменить все их Makefile!). А также. если эти файлы зависят от других библиотек (вероятно, они есть), вам также придется их перекомпилировать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .