![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /proc/self/root/usr/share/boost-build/src/tools/ |
Upload File : |
# Copyright 2003 Dave Abrahams # Copyright 2003 Douglas Gregor # Copyright 2006 Rene Rivera # Copyright 2002, 2003, 2004, 2005, 2006 Vladimir Prus # Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) # This module defines the 'make' main target rule. import "class" : new ; import param ; import project ; import property-set ; import targets ; class make-target-class : basic-target { import "class" : new ; import indirect ; import toolset ; import type ; import virtual-target ; rule __init__ ( name : project : sources * : requirements * : default-build * : usage-requirements * ) { basic-target.__init__ $(name) : $(project) : $(sources) : $(requirements) : $(default-build) : $(usage-requirements) ; } rule construct ( name : source-targets * : property-set ) { local action-name = [ $(property-set).get <action> ] ; # 'm' will always be set -- we add '@' ourselves in the 'make' rule # below. local m = [ MATCH ^@(.*) : $(action-name) ] ; local relevant = [ toolset.relevant [ indirect.get-rule $(m[1]) ] ] ; local a = [ new action $(source-targets) : $(m[1]) : [ $(property-set).add $(relevant) ] ] ; local t = [ new file-target $(self.name) exact : [ type.type $(self.name) ] : $(self.project) : $(a) ] ; return $(relevant) [ virtual-target.register $(t) ] ; } } # Declares the 'make' main target. # rule make ( target-name : sources * : generating-rule + : requirements * : usage-requirements * ) { param.handle-named-params sources generating-rule requirements default-build usage-requirements ; # The '@' sign causes the feature.jam module to qualify rule name with the # module name of current project, if needed. local m = [ MATCH ^(@).* : $(generating-rule) ] ; if ! $(m) { generating-rule = @$(generating-rule) ; } targets.create-metatarget make-target-class : [ project.current ] : $(target-name) : $(sources) : $(requirements) <action>$(generating-rule) : : $(usage-requirements) ; } IMPORT $(__name__) : make : : make ;