OSDN Git Service

LinGui: make smarter bitrate choice when automatically selecting audio settings
[handbrake-jp/handbrake-jp-git.git] / make / include / contrib.defs
index 772258c..fcff273 100644 (file)
@@ -1,5 +1,5 @@
 CONTRIB.build/    = $(BUILD/)contrib/
-CONTRIB.download/ = $(PROJECT/)download/
+CONTRIB.download/ = $(SRC/)download/
 CONTRIB.host      = $(if $(filter 1,$(BUILD.cross)),$(BUILD.spec))
 
 ###############################################################################
@@ -17,7 +17,7 @@ define import.CONTRIB.defs
     ##
     ## common values useful across targets
     ##
-    $(1).src/   = $$(PROJECT/)contrib/$($(1).name)/
+    $(1).src/   = $$(SRC/)contrib/$($(1).name)/
     $(1).build/ = $$(CONTRIB.build/)$($(1).name)/
     $(1).deps   = $$(foreach n,$($(1).prerequisites),$$($$n.INSTALL.target))
 
@@ -34,10 +34,13 @@ define import.CONTRIB.defs
     ##
     ## target: extract
     ##
-    $(1).EXTRACT.tarbase = $$(patsubst %.tar.gz,%,$$(notdir $$($(1).FETCH.url)))
-    $(1).EXTRACT.target/ = $$($(1).build/)$$($(1).EXTRACT.tarbase)/
+    $(1).EXTRACT.tarbase = $$(strip $$(foreach x,tar.bz2 tar.gz,$$(patsubst %.$$(x),%,$$(filter %.$$(x),$$(notdir $$($(1).FETCH.url))))))
+    $(1).EXTRACT.dir/    = $$($(1).build/)$$($(1).EXTRACT.tarbase)/
+    $(1).EXTRACT.target  = $$($(1).build/).stamp.extract
     define $(1).EXTRACT
+        $$(RM.exe) -fr $$($(1).EXTRACT.dir/)
         $$(TAR.exe) xfC $$($(1).FETCH.tar) $$($(1).build/)
+        $$(TOUCH.exe) $$@
     endef
 
     ##
@@ -49,20 +52,21 @@ define import.CONTRIB.defs
 
     # extra line feed is required
     define $(1).PATCH.item
-        $$(PATCH.exe) -t -p1 -d $$(1) < $$(2)
+        $$(PATCH.exe) -t -N -p1 -d $$(1) < $$(2)
 
     endef
 
     $(1).PATCH.target = $$($(1).build/).stamp.patch
     define $(1).PATCH
-        $$(foreach p,$$($(1).PATCH.srcs),$$(call $(1).PATCH.item,$$($(1).EXTRACT.target/),$$(p)))
+        $$(foreach p,$$($(1).PATCH.srcs),$$(call $(1).PATCH.item,$$($(1).EXTRACT.dir/),$$(p)))
+        $$(TOUCH.exe) $$@
     endef
 
     ##
     ## target: configure
     ##
     $(1).CONFIGURE.sete       = set -e;
-    $(1).CONFIGURE.dir        = $$($(1).EXTRACT.target/)
+    $(1).CONFIGURE.dir        = $$($(1).EXTRACT.dir/)
     $(1).CONFIGURE.bootstrap  =
     $(1).CONFIGURE.exe        = ./configure
     $(1).CONFIGURE.host       = $$(CONTRIB.host)
@@ -79,11 +83,11 @@ define import.CONTRIB.defs
     $(1).CONFIGURE.args = !sete @dir !bootstrap !env !exe @host @prefix !deps !shared !static !extra
 
     $(1).CONFIGURE.env.CC       = CC=$$($(1).GCC.gcc)
-    $(1).CONFIGURE.env.CFLAGS   = CFLAGS="$$(call fn.ARGS,$(1).GCC,*archs)"
+    $(1).CONFIGURE.env.CFLAGS   = CFLAGS="$$(call fn.ARGS,$(1).GCC,*archs *sysroot *minver ?extra)"
     $(1).CONFIGURE.env.CXX      = CXX=$$($(1).GCC.gxx)
-    $(1).CONFIGURE.env.CXXFLAGS = CXXFLAGS="$$(call fn.ARGS,$(1).GCC,*archs)"
-    $(1).CONFIGURE.env.CPPFLAGS = CPPFLAGS="$$(call fn.ARGS,$(1).GCC,*archs)"
-    $(1).CONFIGURE.env.LDFLAGS  = LDFLAGS="$$(call fn.ARGS,$(1).GCC,*archs)"
+    $(1).CONFIGURE.env.CXXFLAGS = CXXFLAGS="$$(call fn.ARGS,$(1).GCC,*archs *sysroot *minver ?extra)"
+    $(1).CONFIGURE.env.CPPFLAGS = CPPFLAGS="$$(call fn.ARGS,$(1).GCC,*archs *sysroot *minver ?extra)"
+    $(1).CONFIGURE.env.LDFLAGS  = LDFLAGS="$$(call fn.ARGS,$(1).GCC,*archs *sysroot *minver)"
 
     $(1).CONFIGURE.env.args = !CC !CFLAGS !CXX !CXXFLAGS !CPPFLAGS !LDFLAGS
     $(1).CONFIGURE.env = $$(call fn.ARGS,$(1).CONFIGURE.env,$$($(1).CONFIGURE.env.args))
@@ -91,13 +95,14 @@ define import.CONTRIB.defs
     $(1).CONFIGURE.target = $$($(1).build/).stamp.configure
     define $(1).CONFIGURE
         $$(call fn.ARGS,$(1).CONFIGURE,$$($(1).CONFIGURE.args))
+        $$(TOUCH.exe) $$@
     endef
 
     ##
     ## target: build
     ##
     $(1).BUILD.make     = $$(MAKE)
-    $(1).BUILD.dir      = $$($(1).EXTRACT.target/)
+    $(1).BUILD.dir      = $$($(1).EXTRACT.dir/)
     $(1).BUILD.extra    =
     $(1).BUILD.ntargets =
 
@@ -107,30 +112,32 @@ define import.CONTRIB.defs
     $(1).BUILD.target = $$($(1).build/).stamp.build
     define $(1).BUILD
         $$(call fn.ARGS,$(1).BUILD,$$($(1).BUILD.args))
+        $$(TOUCH.exe) $$@
     endef
 
     ##
     ## target: install
     ##
-
     $(1).INSTALL.make     = $$(MAKE)
-    $(1).INSTALL.dir      = $$($(1).EXTRACT.target/)
+    $(1).INSTALL.dir      = $$($(1).EXTRACT.dir/)
     $(1).INSTALL.extra    =
     $(1).INSTALL.ntargets =
 
     $(1).INSTALL.args = !make @dir !extra !ntargets
     $(1).INSTALL.args.dir = -C $$(1) install
 
+    $(1).INSTALL.mkdirs = $$(CONTRIB.build/)lib/ $$(CONTRIB.build/)include/
     $(1).INSTALL.target = $$($(1).build/).stamp.install
     define $(1).INSTALL
         $$(call fn.ARGS,$(1).INSTALL,$$($(1).INSTALL.args))
+        $$(TOUCH.exe) $$@
     endef
 
     ##
     ## target: uninstall
     ##
     $(1).UNINSTALL.make     = $$(MAKE)
-    $(1).UNINSTALL.dir      = $$($(1).EXTRACT.target/)
+    $(1).UNINSTALL.dir      = $$($(1).EXTRACT.dir/)
     $(1).UNINSTALL.extra    =
     $(1).UNINSTALL.ntargets = uninstall
 
@@ -139,13 +146,14 @@ define import.CONTRIB.defs
 
     define $(1).UNINSTALL
         $$(call fn.ARGS,$(1).UNINSTALL,$$($(1).UNINSTALL.args))
+        $$(RM.exe) -f $$($(1).INSTALL.target)
     endef
 
     ##
     ## target: clean
     ##
     $(1).CLEAN.make     = $$(MAKE)
-    $(1).CLEAN.dir      = $$($(1).EXTRACT.target/)
+    $(1).CLEAN.dir      = $$($(1).EXTRACT.dir/)
     $(1).CLEAN.extra    =
     $(1).CLEAN.ntargets = clean
 
@@ -154,15 +162,19 @@ define import.CONTRIB.defs
 
     define $(1).CLEAN
         $$(call fn.ARGS,$(1).CLEAN,$$($(1).CLEAN.args))
+        $$(RM.exe) -f $$($(1).BUILD.target)
     endef
 
+    ##
     ## other values used to aid prerequisite dirs and cleanup
     ##
     $(1).out += $$($(1).build/)
     $(1).out += $$($(1).FETCH.target)
+    $(1).out += $$($(1).EXTRACT.target)
     $(1).out += $$($(1).PATCH.target)
     $(1).out += $$($(1).CONFIGURE.target)
-    $(1).out += $$($(1).ALL.target)
+    $(1).out += $$($(1).BUILD.target)
+    $(1).out += $$($(1).INSTALL.mkdirs)
     $(1).out += $$($(1).INSTALL.target)
 
     BUILD.out += $$($(1).out)
@@ -187,12 +199,17 @@ $$($(1).FETCH.target): | $$(dir $$($(1).FETCH.target))
 ## target: extract
 ## must touch dir after extraction because old timestamp is restored via tar.
 ##
-$($(1).name).extract: | $$($(1).EXTRACT.target/)
+$($(1).name).extract: $$($(1).EXTRACT.target)
 
-$$($(1).EXTRACT.target/): | $$(dir $$($(1).build/))
-$$($(1).EXTRACT.target/): $$($(1).FETCH.target)
+$$($(1).EXTRACT.target): | $$(dir $$($(1).EXTRACT.target))
+$$($(1).EXTRACT.target): $$($(1).FETCH.target)
        $$($(1).EXTRACT)
-       $$(TOUCH.exe) $$@
+
+$($(1).name).extract.touch:
+       $$(TOUCH.exe) $$($(1).EXTRACT.target)
+
+$($(1).name).extract.untouch:
+       $$(RM.exe) -f $$($(1).EXTRACT.target)
 
 ##
 ## target: patch
@@ -200,9 +217,14 @@ $$($(1).EXTRACT.target/): $$($(1).FETCH.target)
 $($(1).name).patch: $$($(1).PATCH.target)
 
 $$($(1).PATCH.target): | $$(dir $$($(1).PATCH.target))
-$$($(1).PATCH.target): | $$($(1).EXTRACT.target/)
+$$($(1).PATCH.target): $$($(1).EXTRACT.target)
        $$($(1).PATCH)
-       $$(TOUCH.exe) $$@
+
+$($(1).name).patch.touch:
+       $$(TOUCH.exe) $$($(1).PATCH.target)
+
+$($(1).name).patch.untouch:
+       $$(RM.exe) -f $$($(1).PATCH.target)
 
 ##
 ## target: configure
@@ -213,7 +235,12 @@ $$($(1).CONFIGURE.target): | $$(dir $$($(1).CONFIGURE.target))
 $$($(1).CONFIGURE.target): $$($(1).deps)
 $$($(1).CONFIGURE.target): $$($(1).PATCH.target)
        $$($(1).CONFIGURE)
-       $$(TOUCH.exe) $$@
+
+$($(1).name).configure.touch:
+       $$(TOUCH.exe) $$($(1).CONFIGURE.target)
+
+$($(1).name).configure.untouch:
+       $$(RM.exe) -f $$($(1).CONFIGURE.target)
 
 ##
 ## target: build
@@ -222,32 +249,41 @@ $($(1).name).build: $$($(1).BUILD.target)
 
 $$($(1).BUILD.target): | $$(dir $$($(1).BUILD.target))
 $$($(1).BUILD.target): $$($(1).CONFIGURE.target)
+       -$$($(1).CLEAN)
        +$$($(1).BUILD)
-       $$(TOUCH.exe) $$@
+
+$($(1).name).build.touch:
+       $$(TOUCH.exe) $$($(1).BUILD.target)
+
+$($(1).name).build.untouch:
+       $$(RM.exe) -f $$($(1).BUILD.target)
 
 ##
 ## target: install
 ##
 $($(1).name).install: $$($(1).INSTALL.target)
 
-$$($(1).INSTALL.target): | $$(dir $$($(1).INSTALL.target))
+$$($(1).INSTALL.target): | $$(dir $$($(1).INSTALL.target)) $$($(1).INSTALL.mkdirs)
 $$($(1).INSTALL.target): $$($(1).BUILD.target)
        $$($(1).INSTALL)
-       $$(TOUCH.exe) $$@
+
+$($(1).name).install.touch:
+       $$(TOUCH.exe) $$($(1).INSTALL.target)
+
+$($(1).name).install.untouch:
+       $$(RM.exe) -f $$($(1).INSTALL.target)
 
 ##
 ## target: uninstall
 ##
 $($(1).name).uninstall:
        -$$($(1).UNINSTALL)
-       $$(RM.exe) -f $$($(1).INSTALL.target)
 
 ##
 ## target: clean
 ##
 $($(1).name).clean:
        -$$($(1).CLEAN)
-       $$(RM.exe) -f $$($(1).BUILD.target)
 
 ##
 ## target: xclean