前陣子看到 fcamel 丟出來的舊文章:「Debugging make」,花了一些時間看裡面關於 BSD make 與 GNU make 的相同處,之後寫 Makefile 的時候應該會相當有幫助。
目前的目標是 FreeBSD 與 Ubuntu,文章裡面有提到三個變數在兩個平台是通用的,分別是 $<
(The source from which the target is to be made)、$*
(The base name of the target (no extensions or directory))、$@
(The full name of the target)。
另外文章後面也有提到不相容的地方... 如果能避免就儘量避免?
要寫稍微複雜一點的makefile, 還是選擇gnu make吧
至少你知道都是同一套, FreeBSD裝一下就有了.
反過來, linux上的pmake應該是NetBSD的,
有些內建macro的行為不太一樣.