3 # returns "_" for 'selftarget'
4 rule --MainNormalizeTargets-- {
6 if ! $(_ctt) { _ctt = exe ; }
7 else if $(_ctt) = $(1) { _ctt = "_" ; }
12 # /--MainFromObjects-- image : objects : targets : linkrule ;
14 # Links _objects_ into _image_. Dependency of exe.
15 # @MainFromObjects provides a default suffix for _image_
17 rule --MainFromObjects-- {
21 # Add grist to file names
23 _s = [ FGristFiles $(>) ] ;
24 _t = [ FAppendSuffix $(<) : $(SUFEXE) ] ;
25 # so 'jam foo' works when it's really foo.exe
27 Depends $(<) : $(_t) ;
31 #Echo "MainFromObjects: _t:" "$(_t)" "_ctt:" "$(_ctt)" ;
33 # make compiled sources a dependency of target
36 #Echo "separate target:" "$(_f)" ;
37 Depends $(_f) : $(_t) ;
38 Clean $(_f)_clean : $(_t) ;
39 Depends $(_f)_clean : clean ;
42 #Echo "separate target:" "$(_t)" ;
43 Clean $(_t)_clean : $(_t) ;
44 Depends $(_t)_clean : clean ;
46 #Depends exe : $(_t) ;
47 Depends $(_t) : $(_s) ;
48 #k8:MakeLocate $(_t) : $(LOCATE_TARGET) ;
49 MakeLocate $(_t) : $(LOCATE_BIN) ;
52 # special case for stupid Borland C++, which always generates a
53 # .tds file for executables, even when no debug information is needed
55 #if $(JAM_TOOLSET) = BORLANDC {
56 # MakeLocate $(_t:S=.tds) : $(LOCATE_TARGET) ;
57 # Clean clean : $(_t:S=.tds) ;
64 . main/Jambase.main.cpp
65 . main/Jambase.main.objc
66 . main/Jambase.main.lib
67 . main/Jambase.main.libso