我在Linux和Linux上运行了一个应用程序苹果电脑。 现在,对于这个应用程序,我需要从不同的路径复制一些库。
对于Linux, cp ../gccRelease/libMsSipRelease.a ../../ VoipAppLinux / lib /
对于Mac, cp ../DerivedData/MsSipLib/Build/Products/Debug/libMsSipLib.dylib ../../ VoipAppLinux / lib /
正如您所看到的,两条路径都不同。 现在,我的问题是我可以在make文件中使用#ifdef Linux或#ifdef APPLE 。如果可以的语法是什么? 如果#ifdef无法在makefile中使用,那么我该如何解决这个问题。
谢谢。
答案 0 :(得分:1)
您可以使用ifdef APPLE
,但这是一种更自动的方式:在makefile中,像$(shell uname -s)
这样的命令会告诉Make什么是操作系统。试试这个:
OS := $(shell uname -s)
ifeq ($(OS),Linux)
MSSIPLIB := ../gccRelease/libMsSipRelease.a
else
MSSIPLIB := ../DerivedData/MsSipLib/Build/Products/Debug/libMsSipLib.dylib
endif
# And later on
cp $(MSSIPLIB) ../../VoipAppLinux/lib/