【发布时间】:2012-04-13 21:53:06
【问题描述】:
所以,这很奇怪。在我的makefile中我有
CC:=icc
ifeq ($(CC),icc)
CFLAGS := $(ICCFLAGS)
LIBS := $(LIBS) -openmp
else
CFLAGS := $(GCCFLAGS)
LIBS := $(LIBS) -fopenmp
endif
对于make,条件为假但是
CCC:=icc
ifeq ($(CCC),icc)
CFLAGS := $(ICCFLAGS)
LIBS := $(LIBS) -openmp
else
CFLAGS := $(GCCFLAGS)
LIBS := $(LIBS) -fopenmp
endif
这里条件为真,而
CC:=icc
CCC:=$(CC)
ifeq ($(CCC),icc)
CFLAGS := $(ICCFLAGS)
LIBS := $(LIBS) -openmp
else
CFLAGS := $(GCCFLAGS)
LIBS := $(LIBS) -fopenmp
endif
这里的条件再次为假。到底是怎么回事?
【问题讨论】:
-
尝试将
$(info CC is $(CC))放在makefile 的不同位置(例如,在最顶部,就在CC := icc之前,就在之后CC := icc)。这将使我们更好地了解问题所在。