在C语言中,如何在makefile中禁用优化?
我有下面的makefile结构在C语言中,如何在makefile中禁用优化?,c,makefile,C,Makefile,我有下面的makefile结构 # Default optimization level O ?= 2 TESTS = $(patsubst %.c,%,$(sort $(wildcard test[0-9][0-9][0-9].c))) all: $(TESTS) hhtest -include build/rules.mk LIBS = -lm %.o: %.c $(BUILDSTAMP) $(call run,$(CC) $(CPPFLAGS) $(CFLAGS) -O$(O) $
# Default optimization level
O ?= 2
TESTS = $(patsubst %.c,%,$(sort $(wildcard test[0-9][0-9][0-9].c)))
all: $(TESTS) hhtest
-include build/rules.mk
LIBS = -lm
%.o: %.c $(BUILDSTAMP)
$(call run,$(CC) $(CPPFLAGS) $(CFLAGS) -O$(O) $(DEPCFLAGS) -o $@ -c,COMPILE,$<)
test%: test%.o m61.o
$(call run,$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS),LINK $@)
hhtest: hhtest.o m61.o
$(call run,$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS),LINK $@)
#默认优化级别
O=2
TESTS=$(patsubst%.c,%,$(sort$(通配符测试[0-9][0-9][0-9].c)))
全部:$(测试)hhtest
-包括build/rules.mk
LIBS=-lm
%.o:%.c$(建筑邮票)
$(call run,$(CC)$(CPPFLAGS)$(CFLAGS)-O$(O)$(DEPCFLAGS)-O$@-c,COMPILE,$您的代码的结构似乎是这样的(即,您将-O$(O)
传递给CC),您应该能够说:
O ?= 0
用一个字母的变量名来代替O?=2
确实不是很友好。用这个字母作为大写字母O
就更不友好了
O ?= 0