我想要在Linux和Windows上構建相同的Makefile。我在Linux上使用默認的GNU make,在Windows上使用默認的mingw32-make(也可以使用GNU make)。區分Windows和類Unix系統的Makefile
我想讓Makefile檢測它是在Windows還是Linux上運行。
例如在Windows make clean
命令如下:
clean:
del $(DESTDIR_TARGET)
但在Linux上:
clean:
rm $(DESTDIR_TARGET)
此外,我想在Windows(\
)和Linux使用不同的目錄分隔符(/
)。
可以在Makefile中檢測Windows操作系統嗎?
PS:我不想在Windows效仿的Linux(在cygwin等)
有類同的問題:OS detecting makefile,但我沒有在這裏找到答案。
的Windows是能夠同時處理斜槓「/」和「\」是等價的。 – Ency 2010-10-30 13:17:18
如果這是一個大型項目,我想知道是否值得讓autotools處理一些可移植性的東西? – Cascabel 2010-10-30 14:30:10
@Jefromi:autotools假設一個基本的UNIX工具集(sh,m4,sed,rm,...)。 @tomp:不妨將它們安裝在Windows(來自MSYS或GnuWin)上,並將您的努力花在更具挑戰性的可移植性問題上。 – ephemient 2010-10-30 16:07:15