Synced same behaviour between haiku jam and vanilla jam

This commit is contained in:
Sanel Zukan 2007-09-28 14:08:59 +00:00
parent 1a7f6d9f06
commit 15b342009e
6 changed files with 38 additions and 30 deletions

View File

@ -39,15 +39,15 @@ rule EdeManual
# and grist to prevent collision # and grist to prevent collision
target = $(target:S=$(html_ext):G="$(target)-html") ; target = $(target:S=$(html_ext):G="$(target)-html") ;
Depends $(target) : $(source) ; LocalDepends $(target) : $(source) ;
Depends all : $(target) ; LocalDepends all : $(target) ;
Depends doc : $(target) ; LocalDepends doc : $(target) ;
# set output to $(MANUALDIR) directory # set output to $(MANUALDIR) directory
MakeLocate $(target) : $(MANUALDIR) ; MakeLocate $(target) : $(MANUALDIR) ;
AsciiDoc1 $(target) : $(source) ; AsciiDoc1 $(target) : $(source) ;
Clean clean : $(target) ; LocalClean clean : $(target) ;
} }
# copy images, if given # copy images, if given
@ -59,13 +59,13 @@ rule EdeManual
MkDir $(imgdir) ; MkDir $(imgdir) ;
Depends $(target) : $(imgdir) ; LocalDepends $(target) : $(imgdir) ;
Depends $(target) : $(source) ; LocalDepends $(target) : $(source) ;
Depends all : $(target) ; LocalDepends all : $(target) ;
Depends doc : $(target) ; LocalDepends doc : $(target) ;
Copy $(target) : $(source) ; Copy $(target) : $(source) ;
Clean clean : $(target) ; LocalClean clean : $(target) ;
} }
} }
} }

View File

@ -31,11 +31,11 @@ rule MakeInstallPrivate
for i in $(s) { for i in $(s) {
t = $(i:BSR=$(dir):G=installed) ; t = $(i:BSR=$(dir):G=installed) ;
Depends $(t) : $(i) ; LocalDepends $(t) : $(i) ;
Depends $(t) : $(dir) ; LocalDepends $(t) : $(dir) ;
Depends install : $(t) ; LocalDepends install : $(t) ;
Clean uninstall : $(t) ; LocalClean uninstall : $(t) ;
Install1 $(t) : $(i) ; Install1 $(t) : $(i) ;

View File

@ -37,7 +37,7 @@ rule SharedLibraryFromObjects
t = $(t:S=$(SUFSHAREDLIB)) ; t = $(t:S=$(SUFSHAREDLIB)) ;
} }
Depends lib : $(t) ; LocalDepends lib : $(t) ;
# This is used if library already does not have a path # This is used if library already does not have a path
if ! $(t:D) { if ! $(t:D) {
@ -47,10 +47,10 @@ rule SharedLibraryFromObjects
LINKLIBS on $(t) = -shared -Wl,-soname,\"$(t_only)\" [ on $(t) return $(LINKLIBS) ] ; LINKLIBS on $(t) = -shared -Wl,-soname,\"$(t_only)\" [ on $(t) return $(LINKLIBS) ] ;
# Let target is dependant on source # Let target is dependant on source
Depends $(t) : $(s) ; LocalDepends $(t) : $(s) ;
Link $(t) : $(s) ; Link $(t) : $(s) ;
Clean clean : $(t) ; LocalClean clean : $(t) ;
} }
# SharedLibrary [libname] : [sources] ; # SharedLibrary [libname] : [sources] ;
@ -99,10 +99,10 @@ rule SharedLibraryVersioned
# from place where jam is called # from place where jam is called
LOCATE on $(symlink) = [ on $(target) return $(LOCATE) ] ; LOCATE on $(symlink) = [ on $(target) return $(LOCATE) ] ;
Depends lib : $(symlink) ; LocalDepends lib : $(symlink) ;
SymLink $(symlink) : $(target) ; SymLink $(symlink) : $(target) ;
Clean clean : $(symlink) ; LocalClean clean : $(symlink) ;
} }
} else { } else {
SharedLibrary $(1) : $(2) ; SharedLibrary $(1) : $(2) ;

View File

@ -22,7 +22,7 @@ rule MakeProgramPrivate
# so 'jam foo' works when 'foo' is final executable # so 'jam foo' works when 'foo' is final executable
if $(target) != $(<) { if $(target) != $(<) {
Depends $(<) : $(target) ; LocalDepends $(<) : $(target) ;
NotFile $(<) ; NotFile $(<) ;
} }

View File

@ -44,17 +44,17 @@ rule TranslationStrings
MkDir $(locale_dir) ; MkDir $(locale_dir) ;
for i in $(source) { for i in $(source) {
Depends $(target) : $(i) ; LocalDepends $(target) : $(i) ;
} }
Depends $(target) : $(locale_dir) ; LocalDepends $(target) : $(locale_dir) ;
Depends potfile : $(target) ; LocalDepends potfile : $(target) ;
Depends translation : $(target) ; LocalDepends translation : $(target) ;
Depends all : $(target) ; LocalDepends all : $(target) ;
XGettext $(target) : $(source) ; XGettext $(target) : $(source) ;
Clean clean : $(target) ; LocalClean clean : $(target) ;
CleandirSafe distclean : $(locale_dir) ; CleandirSafe distclean : $(locale_dir) ;
} }
@ -85,13 +85,13 @@ rule Translation
pofile = [ FFileName $(path) $(<) $(i) ] ; pofile = [ FFileName $(path) $(<) $(i) ] ;
mofile = [ FFileName $(path) $(<) $(i:S=$(moext)) ] ; mofile = [ FFileName $(path) $(<) $(i:S=$(moext)) ] ;
Depends $(mofile) : $(pofile) ; LocalDepends $(mofile) : $(pofile) ;
Depends all : $(mofile) ; LocalDepends all : $(mofile) ;
Depends translation : $(mofile) ; LocalDepends translation : $(mofile) ;
MakeTranslation1 $(mofile) : $(pofile) ; MakeTranslation1 $(mofile) : $(pofile) ;
Clean clean : $(mofile) ; LocalClean clean : $(mofile) ;
} }
} }

View File

@ -16,6 +16,14 @@
#MKDIRS ?= "mkdir -p" ; #MKDIRS ?= "mkdir -p" ;
#LINKCMD ?= "ln -s" ; #LINKCMD ?= "ln -s" ;
# Compatibility with ftjam,PerforceJam,...
# Haiku jam have builtin LocalClean and LocalDepends
if ! $(INVOCATION_SUBDIR_SET) {
rule LocalClean { Clean $(1) : $(2) ; }
rule LocalDepends { Depends $(1) : $(2) ; }
}
# Compatibility part ends
# Fltk use .cxx extension for C++ files so it must # Fltk use .cxx extension for C++ files so it must
# be registered. This rule is called by jam so final # be registered. This rule is called by jam so final
# application must not use it. # application must not use it.
@ -82,7 +90,7 @@ rule SymLink
return ; return ;
} }
Depends $(<) : $(>) ; LocalDepends $(<) : $(>) ;
if $(3) { if $(3) {
SYMLINKSRCPATH on $(<) = $(3) ; SYMLINKSRCPATH on $(<) = $(3) ;