目录
- 1.Makefile
- [2. build.sh](#2. build.sh)
- 3.test.sh
1.Makefile
- 为了方便构建项目,并将其发布,使用Makefile来管理构建项目
makefile
bin = httpserver
cgi = test_cgi
cc = g++
GLD_FLAGS = -std=c++11 -D DEBUG_SHOW
LD_FLAGS = $(GLD_FLAGS) -lpthread
src = main.cc
curr = $(shell pwd)
.PHONY:ALL
ALL:$(bin) $(cgi)
$(bin):$(src)
$(cc) -o $@ $^ $(LD_FLAGS)
$(cgi):$(curr)/CGI/*.cc
$(cc) -o $@ $^ $(GLD_FLAGS)
.PHONY:output
output:
mkdir output
cp $(bin) output
cp -rf wwwroot output
cp $(cgi) output/wwwroot
cp ./CGI/shell_cgi.sh output/wwwroot
cp ./CGI/python_cgi.py output/wwwroot
.PHONY:clean
clean:
rm -f $(bin) $(cgi)
rm -rf output
2. build.sh
- 在项目后期,构建项目并发布时,要执行以下指令,略显繁琐,所以将其放进shell脚本内
make clean
make
make output
- 后面构建项目时,只需要
./build.sh
,则可一键构建项目,并将其发布
sh
#!/bin/bash
make clean
make
make output
3.test.sh
- 在项目后期,测试项目时,为测试发布版本,要执行以下指令,略显繁琐,所以将其放进shell脚本内
./build.sh
cd ./output
./httpserver PORT
- 后面测试项目时,只需要
./test.sh
,则可一键发布,并切换至发布目录下,直接运行项目
sh
#!/bin/bash
./build.sh
cd ./output
./httpserver PORT