一、變數定義
1、「:=」
a1:=a.0
a2:=$(a1) b.o
這種方式下變數a1的值是a.o,變數a2的值是a.o b.o。
2、「+=」
a1=a.0
a1+=b.0
這種方式下變數a1的值是「a.o b.o」。也就是說「+=」可以實現給變數追加值。
modules的值就是當前軟體**所有的功能目錄,即main、add、mul、div、sub、log
二、函式名
1、subst
格式:(su
bset
引數1,
引數2,
引數3)
功能:把
引數3中
的引數1
替換成參
數2返回
值:被替
換後的參
數32、p
atsu
bst格
式:(subset 引數1,引數2,引數3) 功能:把引數3中的引數1替換成引數2 返回值:被替換後的引數3 2、patsubst 格式:
(subse
t引數1
,引數2
,引數3
)功能:
把引數3
中的引數
1替換成
引數2返
回值:被
替換後的
引數32
、pat
subs
t格式:
(patsubset模式引數,引數1,引數2)
功能:把引數2中符合模式引數的單詞(單詞是指引數中被空格隔開的字串)替換成引數1
返回值:被編譯後的引數2
obj的值source變數裡所有.c檔案編譯成的.o檔案
3、wildcard
格式:$(wildcard模式引數)
功能:列出當前目錄下所有符合模式引數的檔名
返回值:當前目錄下所有符合模式引數的檔名
source的值為當前目錄下src目錄的所有.c檔案
4、addsuffix
格式:$(addsuffix 引數1,引數2)
功能:在引數2中的每個單詞加上字尾引數1
返回值:加上字尾的所有單詞
allobjs的值為所用功能目錄下的src目錄下的.o檔案
編寫makefile檔案的內容為:編寫總控makefile、功能目錄makefile、scripts的makefile
shell程式設計
一、變數
1、命名規則:必須由大寫字母、小寫字母、下劃線、數字,並且首字母不能是數字
注意:等號「=」左右不能出現空格
2、區域性變數
直接上例子:
#!/bin/bash
hello=」var1」
echo $hello
function func1
func1
echo $hello
結果:
二、字串
1、定義字串,建議值使用雙引號
name=「renxu」
echo $name
2、字串拼接
name=「renxu」
echo 「my name is $name」
3、拼接換行符、製表符
\n 代表換行符
\t 代表製表符tab
三、if條件語句
if [ 條件命令串 ]
then
[ 條件為真時的命令串 ]
else
[ 條件為假時的命令串 ]
fi判斷數字
if [ $number1 -eq $nubmer2 ] 是否相等 equal
if [ $number1 -ne $nubmer2 ] 是否不相等 not equal
if [ $number1 -gt $nubmer2 ] 是否大於 greater than
if [ $nmber1 -ge $nubmer2 ] 是否大於等於 greater or equal
if [ $number1 -lt $nubmer2 ] 是否小於 less than
if [ $number1 -le $nubmer2 ] 是否小於等於 less or equal
判斷字串
if [ -z a]判
斷字串a是否為
空if[
a ] 判斷字串a是否為空 if [
a]判斷字元
串a是否
為空if
[a=$b ] 比較字串a和字串b是否相等
注意:1、在「[」和「]」兩邊都由空格
2、在「=」兩邊也有空格
四、for語句
for var in [list]
do#code block
done
其中var是迴圈控制變數,[list]是var需要遍歷的乙個集合,do/done包含迴圈體。
例:輸出1到10
for line in $(seq -w 10);do
echo " $line"
done
seq –w 指的是預設補位
結果:
makefile檔案編寫
hello.c include include function.h int main function.c includeint fun1 int fun2 int fun3 function.h ifndef fun h define fun h int fun1 void int fun2 v...
Makefile檔案編寫
1 基本大全教程 2 四個賦值的區別 是最基本的賦值 是覆蓋之前的值 是如果沒有被賦值過就賦予等號後面的值 是新增等號後面的值其中 和 的區別是 立馬賦值,是整個makefile檔案讀取完後賦值。1 make會將整個makefile展開後,再決定變數的值。也就是說,變數的值將會是整個makefile...
Makefile檔案編寫
main3.c 1 include 2 include static lib.h 3 include fun.h 4 5int main void static lib.h和 1 extern int add int a,int b 2 extern int sub int a,int b 3 ex...