当前位置: 首页 > news >正文

[项目][WebServer][Makefile Shell]详细讲解

目录

  • 1.Makefile
  • 2. build.sh
  • 3.test.sh


1.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 outputcp $(bin) outputcp -rf wwwroot outputcp $(cgi) output/wwwrootcp ./CGI/shell_cgi.sh output/wwwrootcp ./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,则可一键构建项目,并将其发布
#!/bin/bashmake clean
make
make output

3.test.sh

  • 在项目后期,测试项目时,为测试发布版本,要执行以下指令,略显繁琐,所以将其放进shell脚本内
    • ./build.sh
    • cd ./output
    • ./httpserver PORT
  • 后面测试项目时,只需要./test.sh,则可一键发布,并切换至发布目录下,直接运行项目
#!/bin/bash./build.sh
cd ./output
./httpserver PORT

http://www.mrgr.cn/news/28437.html

相关文章:

  • see的本质是什么?
  • Sql进阶:字段中包含CSV,如何通过Sql解析CSV成多行多列?
  • Redis HyperLogLog
  • 23.网工入门篇--------介绍一下园区网典型组网架构及案例实践
  • 低代码集成多方API的简单实现
  • SCUI Admin + Laravel 整合
  • 机器学习的入门指南
  • re题(22)BUUFCTF-[ACTF新生赛2020]rome
  • 速盾:cdn免备案免费加速?
  • Spring为什么要用三级缓存解决循环依赖?
  • Robot Operating System——带有协方差矩阵的线速度和角速度
  • 世界排名第一的数码照片和图形放大软件PhotoZoom Pro 9
  • 【ShuQiHere】 进位回补与溢出问题全解:二补码与一补码的进阶指南
  • 指纹与指甲检测系统源码分享
  • 掌握回流与重绘面试回答:优化网页加载与响应速度
  • vscode对python进行多卡调试
  • 微信小程序----日期时间选择器(自定义时间精确到分秒)
  • (183)时序收敛--->(33)时序收敛三三
  • 《并发之危:错误实现的并发数据结构如何“摧毁”程序》
  • 模型训练的过程中对学习不好的样本怎么处理更合适
  • 什么是 HTTP/3?下一代 Web 协议
  • 后台数据管理系统 - 项目架构设计-Vue3+axios+Element-plus(0916)
  • Django_Vue3_ElementUI_Release_003_前端Vue3项目初始化
  • 【系统架构设计师】软件架构的概念(经典习题)
  • shopify主题开发之template模板解析
  • 【JAVA干货店】带你玩转数组与递归