这是我项目的目录:
目录的根/顶级:
11/05/2015 05:59 PM <DIR> .
11/05/2015 05:59 PM <DIR> ..
11/05/2015 05:59 PM <DIR> .git
11/04/2015 11:09 PM 35 Makefile
11/05/2015 05:59 PM 215 README.md
11/04/2015 10:56 PM <DIR> src
2 File(s) 250 bytes
4 Dir(s) 405,634,633,728 bytes free
SRC的内容:
11/04/2015 10:56 PM <DIR> .
11/04/2015 10:56 PM <DIR> ..
11/04/2015 10:56 PM 74 headers.h
11/04/2015 11:02 PM 386 shell.cpp
2 File(s) 460 bytes
2 Dir(s) 405,634,633,728 bytes free
因此,在src
目录中,有 2 个文件。 shell.cpp
和headers.h
.在 makefile 中,我想将 src
目录中的两个文件编译为一个二进制可执行文件。如果需要,我将首先编译为 .o 文件,然后将 .o 文件编译为二进制文件。
cygwin,对于我的版本,我不能使用gmake
。所以,请给我一个需要正常make
的解决方案。
.PHONY: all clean
BIN = ../exe
CXX = g++5
CFLAGS = -Wall -Og -g3 -ggdb -pipe -march=i686 -std=c++17
CPP=FILES.cpp
all: $(BIN)
clean:
@echo Delete .obj files
@rm -f *.o
%.o: %.cpp
@echo Compiling $*
@$(CXX) $(CFLAGS) -c $^ -o $@
$(BIN): $(CPP:%.cpp=%.o)
@echo Link executable
@$(CXX) $(CFLAGS) -o $(BIN)
安装 gmake