📄 makefile
字号:
# top-level makefile
TopDir := .
NextTopDir := ../../..
include $(TopDir)/targets.mf
include $(TopDir)/std.mf
Prefix := $(ObjDir)
RecurseOn = $(TARGET)
MT := target.mt
define MakeTempFile
$(Echo) >$(TargetFile) TARGET:=$(notdir $(@D))
endef
-include $(wildcard $(TopDir)/*/source.mf)
# get all target names & remove duplicate target names
TARGETS := $(sort $(foreach App, $(APPS), $(TARGETS.$(App))))
ifeq "$(strip $(TARGET))" ""
# TARGET is empty, so build for all targets
TARGET := $(TARGETS)
endif
ifneq "$(filter-out $(TARGETS), $(TARGET))" ""
# if we get here, then the user has specified an invalid target.
# 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
.PHONY: all dist $(MT) $(FRAGMENTS)
all: $(patsubst %, $(ObjDir)/%/$(Mkfile), $(TARGET))
$(Recurse)
dist:
$(DELTREE)
$(Rm) $(CHIPNAME).zip
pkzip -Pr $(CHIPNAME) *
$(patsubst %, $(ObjDir)/%/$(Mkfile), $(TARGET)): $(ObjDir)
$(MkMakeFile)
$(ObjDir): $(WorkDir)
$(MkDir)
$(WorkDir):
$(MkDir)
%:: $(patsubst %, $(ObjDir)/%/$(Mkfile), $(TARGET))
$(Recurse)
$(Mkfile) *.mt *.mf *.def: ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -