迅為龍芯2K1000開(kāi)發(fā)板Linux之Makefile基本語(yǔ)法(上)

發(fā)布時(shí)間:2021-12-22 14:42    發(fā)布者:就是塔塔
關(guān)鍵詞: 龍芯開(kāi)發(fā)板
3 Makefile 變量和變量賦值
變量可以對許多地方使用, 比如目標, 依賴(lài)。 或者命令。
變量的賦值可以使用: “ = ” “ ? = ” “ := ” “ += ”
變量的使用: 通過(guò)$() 來(lái)完成變量的引用。
示例 1
使用 “: = ” 來(lái)賦值
使用“ : =” 給變量賦值, 是立刻賦值, 在執行 var =aaa 的同時(shí)變量值已經(jīng)被確定了, 所以最后打印為 aaabbb, 而不是 cccbbb, 如下圖所示。
示例 2
使用“=” 賦值
使用“=” 來(lái)賦值, 是延遲賦值, 使用它來(lái)賦值是 makefile 里面最后被指定的值。 因為我們最后給變量var1 賦值為 ccc ,所以最后打印為 cccbbb , 而不是 aaabbb , 如下圖所示:
示例 3:
使用 “? =” 來(lái)賦值
使用“?=” 來(lái)賦值, 如果 var1 變量前面沒(méi)有被賦值, 那么就給它賦值為 ccc , 如果前面已經(jīng)賦值了,就適應前面的值, 所以, 打印為 aaabbb ,而不是 cccbbb , 如下圖所示。
然后我們注釋掉第一行代碼, makefile 中的注釋為 #
在運行就會(huì )打印 cccbbb ,因為前面沒(méi)有給 var1 變量賦值。 如下圖所示
示例 4
使用“+=” 來(lái)賦值
使用“+=” 賦值是追加賦值, 是在我們前面定義的好的字符串里面在添加進(jìn)去新的字符串, 所以運行會(huì )打印 aaa bbbccc 。 不過(guò)中間會(huì )有空格, 如下圖所示:
使用“+=” 也類(lèi)似于我們這樣賦值, 如下圖所示:
如果賦值很長(cháng), 我們也可以使用換行符“\” , 如下圖所示
4 Makefile 自動(dòng)化變量
自動(dòng)化變量就是不用定義且會(huì )隨著(zhù)上下程序的不同而發(fā)生變化的變量叫做自動(dòng)化變量。
這里介紹三個(gè)最常用的自動(dòng)化變量:
$@
表示所有目標
$<
表示第一個(gè)依賴(lài)文件, 如果依賴(lài)模式是%, 那么它就表示一系列文件。(%為通配符, 類(lèi)似 linux上的 *
$^
表示所有依賴(lài)
在了解這三個(gè)自動(dòng)化變量之前, 我們先來(lái)寫(xiě)一個(gè)程序:
main.c代碼如下
hello.c代碼如下:
hello.h 代碼如下:
Makefile代碼如下:
使用這個(gè) makefile 雖然也可以成功編譯, 但是, 一旦編譯的文件多了, 如果我們還這樣來(lái)編寫(xiě) makefile就會(huì )變得非常復雜。 所以, 自動(dòng)化變量就派上用場(chǎng)啦。接下來(lái)我們一步一步的來(lái)簡(jiǎn)化這個(gè) makefile 。
簡(jiǎn)化一: 用變量表示依賴(lài)文件
后面如果我們在增加依賴(lài)文件的話(huà), 我們直接在變量 var 后面增加就可以了。
簡(jiǎn)化二:
使用通配符 % , 和自動(dòng)化變量 $< 、 $@ 代替依賴(lài)和目標, 簡(jiǎn)化完如下圖所示:
簡(jiǎn)化三:
使用自動(dòng)化變量 “$^” 表示所有文件依賴(lài)的列表, 簡(jiǎn)化完如下圖所示:
迅為龍芯2K1000開(kāi)發(fā)板:
核心板參數:
尺寸:65mm*55mm
CPU :龍芯2K1000雙核工業(yè)級處理器
主頻:800MHz-1GHz
內存:板載2GB DDR3 ,可選4GB
存儲:8MB的存儲,用來(lái)放BOOT引導程序的
工作電壓:12V和5V
系統支持:流暢運行vusybx、buiroot、Loognix、QT5.12系統。
引角擴展:引出腳多達232個(gè),1.0間距的郵票孔方式,滿(mǎn)足用戶(hù)各類(lèi)擴展需求

底板參數:
尺寸:190mm*125mm   
POWER:電直流電源輸入接口
SWITCH:電源開(kāi)關(guān)
Ethernet:2 路10M/100M/1000M自適應以太網(wǎng)
USB HOST:4路USB2.0
OTG:支持
Mini HDMI:支持
RGB-LCD:支持
WIFI/BT:板載WIFI、藍牙二合一模塊
Mini PCIE:可外接mini PCIE接口的4G模塊,具備PCIE2.0單通道
4G模塊 :支持  (選配)
SIM Card:1個(gè)
UART:2路串口
RS485:1路
CAN:2路
蜂鳴器:一個(gè)有源蜂鳴器
RTC:支持
LIO/UART:2mm間距20PIN插座引出
GPIO :2mm間距20PIN插座引出
耳機接口:標準3.5mm耳機接口
JTAG:1路JTAG調試接口(2mm間距10PIN插座引出)
GPS:一路GPS  (選配)
固態(tài)硬盤(pán)接口:1路  (SATA固態(tài)盤(pán)選配)
按鍵:3個(gè)
溫度傳感器:支持
風(fēng)扇驅動(dòng):支持

本文地址:http://selenalain.com/thread-781278-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页