【发布时间】:2020-08-18 03:37:01
【问题描述】:
我刚刚安装了 MinGW,我打算退出 make 来编译一个项目,我意识到我得到的 makefile 在 Ubuntu 上运行良好,但显然不能在 Windows 上运行。这就是我得到的
G++ ?= g++
C_FLAGS = 0
BIN ?= program.exe
HDR_DIR ?= ./headers
OBJ_DIR ?= OBJ
SRC_DIR ?= SRC
FILES ?= $(basename $(notdir $(shell find $(SRC_DIR) -name "*.cc")))
SRC ?= $(addsuffix .cc, $(FILES))
OBJ ?= $(addsuffix .o, $(FILES))
$(BIN): $(addprefix ./OBJ/, $(OBJ))
$(G++) -g $^ -o $@
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.cc
$(G++) -I$(HDR_DIR) -g -c -o $@ $<
所以我搜索了一下,我认为唯一需要更改的行是我定义 FILES 变量的位置。我试过了:
FILES ?= $(basename $(notdir $(shell $(SRC_DIR) /s "*.cc")))
但我想我不明白 dir 的工作原理......
【问题讨论】: