build.mt

来自「epson 13506 driver code」· MT 代码 · 共 63 行

MT
63
字号
# build.mt - build-level makefile template
# when this makefile is executed, we are building for a single target and build
# but we could be building for multiple apps

# path to get to top of directory tree
TopDir		:= ../../../..
NextTopDir      := ../$(TopDir)
LibDir		:= .

include		$(TopDir)/std.mf
include		$(TopDir)/targets.mf
include		$(TopDir)/builddef.mf

MT		:= app.mt
Prefix		:= .
RecurseOn	= $(APP)

define	MakeTempFile
$(Echo) >$(TargetFile) TARGET:=$(TARGET)
$(Echo) >>$(TargetFile) BUILD:=$(BUILD)
$(Echo) >>$(TargetFile) APP:=$(notdir $(@D))
endef

# put default make target before source files are included
.PHONY: all _all clean
_all: all

# get list of apps in APPS; a list of libraries in LIBS; and the rules for libraries
NEEDRULES	:= yes
-include $(TopDir)/*/source.mf

# VPATH needs to point to all library directories
VPATH		:= $(sort $(patsubst %, $(TopDir)/%, $(LIBS)))

# only build those apps which are supported on this target
APPS		:= $(patsubst %/$(TARGET), %, $(filter %/$(TARGET), $(foreach app, $(APPS), $(addprefix $(app)/, $(TARGETS.$(app))))))

ifeq "$(strip $(APP))" ""
# APP is empty, so do all APP types
APP		:= $(APPS)
endif

ifneq "$(filter-out $(APPS), $(APP))" ""
# if we get here, then the user has specified an invalid app.
# Make gives us no clean way to report this,
# so the following invalid syntax will cause the build to grind to a halt.
gack!
endif

all: $(LIBS) $(patsubst %, %/$(Mkfile), $(APP))
	$(Recurse)

clean:
	$(Recurse)
	$(CLEAN)

$(patsubst %, %/$(Mkfile), $(APP)):
	$(MkMakeFile)

$(APP): $(LIBS)
	$(MkDir)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?