今天,我得到了一个带有makefile
的项目来编译它,但不幸的是,我无法在Windows
上运行makefile
。因此,我开始将其转换为CMake
,但是由于我对makefiles
没有太多知识,无法正确理解以下代码尝试做什么并"模仿" 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)
有人可以给我一些关于如何转换这个的见解吗?,尤其是在什么$@
,$<
和$^
中?
谢谢。
$@
, $<
和 $^
是自动变量,可以在此处找到相关文档