diff --git a/mkproj-c.sh b/mkproj-c.sh new file mode 100755 index 0000000..c243d14 --- /dev/null +++ b/mkproj-c.sh @@ -0,0 +1,35 @@ +#!/bin/bash +#创建一个cpp项目 包括三个文件夹src bin 和 doc 文件makefile main.cpp +#获取项目名称 +proj_name=${1} +#创建项目文件夹 +mkdir ${proj_name} +mkdir ${proj_name}/src +mkdir ${proj_name}/bin +mkdir ${proj_name}/doc +#创建文件 +cat << EOF > ${proj_name}/src/main.cpp +#include "insert_headfile_here" + +int main(int argc, char* argv[]){ + return 0; +} +EOF + +cat << EOF > ${proj_name}/makefile +CC = g++-8 +PROM = ./bin/${proj_name}.ex +CFLAGS = -I. +DEPS = \$(shell find ./src -name "*.h") +SRC = \$(shell find ./src -name "*.cpp") +OBJ = \$(SRC:%.cpp=%.o) + +\$(PROM): \$(OBJ) + \$(CC) -o \$(PROM) \$(OBJ) \$(CFLAGS) -O2 + +%.o:%.cpp \$(DEPS) + \$(CC) -c \$< -o \$@ \$(CFLAGS) -O2 + +clean: + rm -rf \$(OBJ) +EOF \ No newline at end of file