ZhangZhihui's Blog  

Got below error:

Makefile:2: *** missing separator.  Stop.

 

Check the Makefile using cat -e -t -v:

zzh@ZZHPC:/zdata/Github/zimplebank$ cat -vE -t Makefile 
createdb:$
    docker exec -it postgres16 createdb --username=root --owner=root zimple_bank$
$
dropdb:$
    docker exec -it postgres16 dropdb zimple_bank$
$
.PHONY createdb dropdb

make defines a tab is required to start each recipe. All actions of every rule are identified by tabs. If you prefer to prefix your recipes with a character other than tab, you can set the .RECIPEPREFIX variable to an alternate character.

 

Replaced the indentation spaces to tabs:

zzh@ZZHPC:/zdata/Github/zimplebank$ cat -vE -t Makefile 
createdb:$
^Idocker exec -it postgres16 createdb --username=root --owner=root zimple_bank$
$
dropdb:$
^Idocker exec -it postgres16 dropdb zimple_bank$
$
.PHONY createdb dropdbzzh@ZZHPC:/zdata/Github/zimplebank$ make dropdb
Makefile:7: *** missing separator.  Stop.

Still got the error, but the error line number changed to 7. Checked and found that a colon was missing after .PHONY.

 

zzh@ZZHPC:/zdata/Github/zimplebank$ cat -vE -t Makefile
createdb:$
^Idocker exec -it postgres16 createdb --username=root --owner=root zimple_bank$
$
dropdb:$
^Idocker exec -it postgres16 dropdb zimple_bank$
$
.PHONY: createdb dropdbzzh@ZZHPC:/zdata/Github/zimplebank$ make dropdb
docker exec -it postgres16 dropdb zimple_bank

 

posted on 2023-11-27 19:25  ZhangZhihuiAAA  阅读(16)  评论(0编辑  收藏  举报