Как мне убедиться, что мой код компилируется с -o3 в gnu make?
У меня есть огромный 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 ответ
LDFLAGS ?=
CFLAGS ?=
CXXFLAGS ?=
CPPFLAGS ?=
LIBS ?=
RADIANT_ABOUTMSG ?= Custom build
Я бы добавил -O3
в CPPFLAGS
, CXXFLAGS
а также CFLAGS
, НО:
Это только изменит код измененных файлов вашего проекта. Чтобы убедиться, что все ваши файлы перекомпилированы, выполните make clean
первый. НО:
Это не гарантирует внешне связанные файлы, такие как библиотеки. Те, как правило, не скомпилированы с -O3
, Если вы хотите убедиться в этом, вам придется также перекомпилировать все библиотеки (не забывая изменить все их Makefile!). А также. если эти файлы зависят от других библиотек (вероятно, они есть), вам также придется их перекомпилировать.