gmt-template/mkproj-c.sh

35 lines
719 B
Bash
Raw Normal View History

#!/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