IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Makefile知识点 -> 正文阅读

[Java知识库]Makefile知识点

简介

对于C语言:make是一个编译和构建的工具
编译(compile):

  • 代码 经过编译 可执行文件
    构建(build):
  • 安排编译的顺序

对于所有语言而言:make是一个目标构建工具
构建

  • 达到同一个目标的命令放到一起

make需要结合makefile使用

安装

windows

  1. 下载:mingw下载网址
  2. 添加到path环境变量:你的路径\mingw64\mingw64\bin
  3. 改名:mingw32-make.exe改名为make.exe
  4. 测试:make --version
    在这里插入图片描述

语法

规则

# 规则语法
<target>: <prerequisites> 
[tab]  <commands>

# 规则示例
rundev: mvndev
	java -Dfile.encoding=utf-8 -jar xcrj.jar "-Xms128m -Xmx256m -Djava.security.egd=file:/dev/./urandom"

变量

赋值方式示例变量赋值变量引用说明
立即/简单赋值x:=hi立即赋值引用最近变量值类似编程语言的方式,推荐
延迟/递归赋值x=hi延迟赋值引用最后变量值-
条件赋值x?=hi延时变量--
追加赋值x+=xcrj立即赋值--

示例

x=10
m:=$(x)_before
n=$(x)_after
x=20

test:
	@echo $(m)
	@echo $(n)
λ make test
10_before
20_after

逻辑

if语句含义
ifeq/ifneq else enif变量值相等/不相等
ifdef/ifndef else endif变量定义/未定义

ifeq/ifneq else enif

name:=xcrj
test:
# 空格
 ifeq ($(name),xcrj)
# tab
	@echo 'equal'
# 空格
 else
# tab
	@echo 'not equal'
# 空格
 endif

ifdef/ifndef else endif

name:=xcrj
test:
 ifdef name
	@echo 'def'
 else
	@echo 'not def'
 endif

函数

todo

todo

命令

命令作用示例
make根据Makefile构建目标make rundev

使用

  1. 在项目根目录下创建Makefile文件
  2. 使用make命令执行Makefile文件中的目标

注意

  • 命令前使用tab键
  • 关键字前使用空格,ifeq else endif关键字前使用空格
  • 'content':单引号,原原本本输出,不对特殊字符转义
  • "content":双引号,对特殊字符转义

示例

  1. 在项目根目录下创建Makefile文件
# 目标声明
.PHONY: mvndev\
rundev

# 变量定义
jarpath:='.\target\xcrj.jar'

# 目标定义
mvndev:
	mvn clean install -Dmaven.test.skip=true -Pdev

# 前置目标
rundev: mvndev
	java -Dfile.encoding=utf-8 -jar $(jarpath) "-Xms128m -Xmx256m -Djava.security.egd=file:/dev/./urandom"
  1. 使用make命令执行Makefile文件中的目标 make rundev
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-03-17 21:56:42  更:2022-03-17 22:01:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:01:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码