将makefile项目转换为CMake
今天,我得到了一个带有将makefile项目转换为CMake,makefile,cmake,Makefile,Cmake,今天,我得到了一个带有makefile的项目来编译它,但不幸的是,我无法在Windows上运行makefile。因此,我开始将其转换为CMake,但由于我对makefile没有太多的了解,因此无法正确理解以下代码试图做什么,也无法“模拟”CMake中的行为 因此,我遇到问题的代码如下: # -- src and obj List ---------- SRC = $(addprefix ${SRC_PATH}/, $(FILE)) OBJ = $(addprefix ${OBJ_PATH}/,
makefile
的项目来编译它,但不幸的是,我无法在Windows
上运行makefile
。因此,我开始将其转换为CMake
,但由于我对makefile
没有太多的了解,因此无法正确理解以下代码试图做什么,也无法“模拟”CMake中的行为
因此,我遇到问题的代码如下:
# -- src and obj List ----------
SRC = $(addprefix ${SRC_PATH}/, $(FILE))
OBJ = $(addprefix ${OBJ_PATH}/, $(addsuffix .o, $(basename $(FILE))))
# -- Base rules ----------
$(OBJ_PATH)/%.o : $(SRC_PATH)/%.c
$(CC) $(CFLAGS) -c $< -o $@
#-----Main rule ----------
$(EXE_PATH)/$(PRODUCT): $(OBJ)
$(CC) -o $@ $^ $(LDFLAGS) $(OPTFLAGS) $(CFG) $(INC) $(LIB) -lm
# -- Other stuff ----------
depend:
makedepend $(CFLAGS) -Y $(SRC)
#--src和obj列表----------
SRC=$(addprefix${SRC_PATH}/,$(文件))
OBJ=$(addprefix${OBJ_PATH}/,$(addsuffix.o,$(basename$(FILE)))
#--基本规则----------
$(对象路径)/%.o:$(SRC\u路径)/%.c
$(CC)$(CFLAGS)-c$<-o$@
#-----主要规则----------
$(执行路径)/$(产品):$(OBJ)
$(CC)-o$@$^$(LDFLAGS)$(OPTFLAGS)$(CFG)$(INC)$(LIB)-lm
#--其他东西----------
依赖:
makedepend$(CFLAGS)-Y$(SRC)
有人能给我一些关于如何转换这个的见解吗?特别是在什么方面,你可能想使用Cygwin,这取决于你的最终目标,你可以在Windows上使用makefiles。您可能应该从阅读GNU make(或任何make)手册开始。这看起来像是处理依赖关系的样板代码,CMake会自动执行。逐行翻译毫无意义。如果它是一个简单的项目,那么您只需要一个源代码列表、输出的名称和位置,以及编译器和链接器的标志。有了这些,从头开始创建一个CMakeLists.txt。如果它很复杂,请花一些时间学习高级
make
语法。