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 + -
显示快捷键?