我很少使用命令行makefile,通常做单个项目并手动构建它们。
我在使用wxWidgets2.8.12和VS2008的构建机器上使用Win Xp-sp3,我已经为库创建了多种构建格式(总共10个),这留下了大约2.5Gb的空间和中间文件,我使用批处理文件进行创建,但不确定我是否希望以正确的方式清理正确的文件。当我尝试在Visual Studio中运行清理过程时,它会完全清除中间文件和输出文件。 wxWidgets文件结构如下所示:
C:\ wxWidgets-2.8.12 \ build \ msw,包含10个不同构建类型的子文件夹。我使用了一个简单的批处理脚本来创建:
echo now building... WxWidgets with debug=y Unicode=y DLL=y Universal=y
rem builds debug with unicode DLLs WXUniversal
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=1 WXUNIV=1
rem add clean command to delete INTERMEDIATE files only
rem (*.o, *.obj, *.res, *.pch. *.pdb, *.ilk ....)
我以为跑步了:
nmake -f makefile.vc /clean
每个创建块之后都可以完成这个技巧,但它只能在一个目录上运行,删除那里的所有内容。
我的问题是:我是否在我的rem语句中查看要删除的正确中间文件?是否有一个自动方法来摆脱中间文件,但保留输出文件?
答案 0 :(得分:0)
不,“干净”目标会删除所有内容。您可能希望将输出文件(即库,DLL和PDB)复制到其他目录,然后“nmake clean”然后将它们移回。
P.S。你确定你需要构建wxUniversal吗?
答案 1 :(得分:0)
VZ有一个很好的解决方案。另一个解决方案可能是制作新的makefile目标(复制干净的目标并修改它)并告诉它只留下输出文件以便你做
nmake -f makefile.vc [OPTIONS]
nmake -f makefile.vc New_target