2022/04/07

Makefile

ๅฆ‚ๆžœๆˆ‘ๅ€‘็š„ๅฐˆๆกˆๆœ‰ๆŒ‡ไปคๆ˜ฏๆœƒ้‡่ค‡ๅŸท่กŒ็š„,้€้Ž Makefile ๅฏไปฅ้›†ๆˆๅ…งๅฎน,ๆœ€ๆ–นไพฟ็š„ๆ˜ฏๅคš็ต„ๅˆไพๅบๅŸท่กŒ。

ๅปบ็ซ‹ไธ€ๅ€‹ๆช”ๆกˆๅ็จฑ็‚บ Makefile:

ๅŸบๆœฌๆ‡‰็”จ

init:
        echo first command
        echo second command
$ make init
echo first command
first command
echo second command
second command

ๅฎ‰้œ่ผธๅ‡บ

ๅฆ‚ๆžœไฝ ไธๅธŒๆœ› terminal ๅฐๅ‡บไฝ ไธ‹็š„ๅ‘ฝไปคๅ…งๅฎน,ๆœ‰ๅนพ็จฎๅฏซๆณ•ๅฏไปฅ้ฟๅ…。

.SILENT: init

init:
        echo first command
        echo second command
.SILENT: #ๅฝฑ้Ÿฟๅ…จ้ƒจ

init:
        echo first command
        echo second command
init:
        @echo first command
        @echo second command

ๅคš้‡ๆญฅ้ฉŸ

first_check:
        echo first check

second_check:
        echo second check

init: first_check second_check
        echo init
$ make init
echo first check
first check
echo second check
second check
echo init
init

่ฎŠๆ•ธ

file=default

init:
        @echo file is $(file)
$ make
file is default

$ make file=new
file is new

่ฎŠๆ•ธๅฏไปฅ็ถ“็”ฑๅธถๅ…ฅๆ–นๅผ่ฆ†่“‹。