bootstrap.rules
来自「ace开发环境 用来开发网络程序 其运用了设计模式、多平台、C++等多种知识」· RULES 代码 · 共 96 行
RULES
96 行
# file : BuildRules/Bootstrap.rules# author : Boris Kolpackov <boris@kolpackov.net># copyright : Copyright (c) 2002-2003 Boris Kolpackov# license : http://kolpackov.net/license.html# basics##define set$(eval $1 := $(strip $2))endefdefine get$(value $(strip $1))endefdefine sub$(shell expr $1 - $2)endefdefine add$(shell expr $1 + $2)endef# stack##define push$(eval $1 +=$(strip $2))endefdefine pop$(eval $1 :=$(wordlist 1,$(call sub, $(words $(value $(strip $1))), 1),$(value $(strip $1))))endefdefine top$(word $(words $(value $(strip $1))),$(value $(strip $1)))endef# local##define path_to_id$(subst /,_,$(subst .,_,$(strip $1)))endefMAKEFILE := $(word $(call sub,$(words $(MAKEFILE_LIST)),1),$(MAKEFILE_LIST))INCLUSION_ID := $(call path_to_id,$(MAKEFILE))define get_inclusion_id$(INCLUSION_ID)endefdefine local_set$(eval $(strip $(call get_inclusion_id))_$1 := $(strip $2))endefdefine local_get$($(strip $(call get_inclusion_id))_$1)endefdefine local_origin$(origin $(strip $(call get_inclusion_id))_$1)endefdefine _get_inclusion_count$(if $(call local_get,INCLUSION_COUNT),$(call local_get,INCLUSION_COUNT),0)endefdefine _set_inclusion_count$(call local_set,INCLUSION_COUNT,$1)endef# include##define include$(strip $(eval $(call push, include_stack, $(MAKEFILE))) \ $(eval MAKEFILE :=$(strip $1)) \ $(eval $(call push, inclusion_id_stack, $(INCLUSION_ID))) \ $(eval $(call _set_inclusion_count,$(call add,$(call _get_inclusion_count),1))) \ $(eval INCLUSION_ID :=$(INCLUSION_ID)_$(call local_get,INCLUSION_COUNT)_$(call path_to_id,$1)) \ $(eval include $1) \ $(eval INCLUSION_ID :=$(call top, inclusion_id_stack)) \ $(eval $(call pop, inclusion_id_stack)) \ $(eval MAKEFILE :=$(call top, include_stack)) \ $(eval $(call pop, include_stack)))endef# $Id: Bootstrap.rules 66067 2005-05-24 04:33:13Z turkaye $
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?