我不认为我了解生成文件的工作原理

I don't think I understand how makefiles work

本文关键字:工作 不认为 了解 文件      更新时间:2023-10-16

我有一个程序,使用openGL和c++来绘制一个3D行星。它可以工作,我使用下面的makefile代码来编译它(它也可以工作),但是我现在创建了一个新的。h和。cpp文件,我将其包含在我的newPlanet.cpp主程序中。我的问题是,我如何将这个新的。h和。cpp文件添加到这个makefile中,以便用newPlanet.cpp编译它们?

VRUI_MAKEDIR := /opt/local/Vrui-2.6/share/make
ifdef DEBUG
VRUI_MAKEDIR := $(VRUI_MAKEDIR)/debug
endif
INSTALLDIR := $(shell pwd)

RESOURCEDIR = share/VruiExamplePrograms

include $(VRUI_MAKEDIR)/SystemDefinitions
include $(VRUI_MAKEDIR)/Packages.System
include $(VRUI_MAKEDIR)/Configuration.Vrui
include $(VRUI_MAKEDIR)/Packages.Vrui

BININSTALLDIR = $(INSTALLDIR)/$(EXEDIR)
RESOURCEINSTALLDIR = $(INSTALLDIR)/$(RESOURCEDIR)
PACKAGES = MYVRUI
ALL = $(EXEDIR)/NewPlanet   
.PHONY: all
all: $(ALL)
.PHONY: extraclean
extraclean:
.PHONY: extrasqueakyclean
extrasqueakyclean:

include $(VRUI_MAKEDIR)/BasicMakefile

$(EXEDIR)/NewPlanet: $(OBJDIR)/NewPlanet.o

在不知道其他文件中有什么内容的情况下很难说,但一个不错的选择是:

$(EXEDIR)/NewPlanet: $(OBJDIR)/NewPlanet.o $(OBJDIR)/YourNewFile.o

但答案是在SystemDefinitions, Packages.Vrui, BasicMakefiles和可能-许多其他地方。