| 1 | # $Id: TAR.kmk 2018 2008-11-02 00:08:56Z bird $ | 
|---|
| 2 | ## @file | 
|---|
| 3 | # kBuild Tool Config - tar unpacker. | 
|---|
| 4 | # | 
|---|
| 5 |  | 
|---|
| 6 | # | 
|---|
| 7 | # Copyright (c) 2006-2008 knut st. osmundsen <bird-kBuild-spam@anduin.net> | 
|---|
| 8 | # | 
|---|
| 9 | # This file is part of kBuild. | 
|---|
| 10 | # | 
|---|
| 11 | # kBuild is free software; you can redistribute it and/or modify | 
|---|
| 12 | # it under the terms of the GNU General Public License as published by | 
|---|
| 13 | # the Free Software Foundation; either version 2 of the License, or | 
|---|
| 14 | # (at your option) any later version. | 
|---|
| 15 | # | 
|---|
| 16 | # kBuild is distributed in the hope that it will be useful, | 
|---|
| 17 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|---|
| 18 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
|---|
| 19 | # GNU General Public License for more details. | 
|---|
| 20 | # | 
|---|
| 21 | # You should have received a copy of the GNU General Public License | 
|---|
| 22 | # along with kBuild; if not, write to the Free Software | 
|---|
| 23 | # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA | 
|---|
| 24 | # | 
|---|
| 25 | # | 
|---|
| 26 | # As a special exception you are granted permission to include this file, via | 
|---|
| 27 | # the kmk include directive, as you wish without this in itself causing the | 
|---|
| 28 | # resulting makefile, program or whatever to be covered by the GPL license. | 
|---|
| 29 | # This exception does not however invalidate any other reasons why the makefile, | 
|---|
| 30 | # program, whatever should not be covered the GPL. | 
|---|
| 31 | # | 
|---|
| 32 | # | 
|---|
| 33 |  | 
|---|
| 34 | TOOL_TAR := tar unpacker. | 
|---|
| 35 |  | 
|---|
| 36 | # Tool Specific Properties | 
|---|
| 37 | ifndef TOOL_TAR_TAR | 
|---|
| 38 | TOOL_TAR_TAR := $(wildcard $(PATH_DEVTOOLS_BLD)/tar/v*/tar$(HOSTSUFF_EXE)) | 
|---|
| 39 | ifeq ($(TOOL_TAR_TAR),) | 
|---|
| 40 | TOOL_TAR_TAR := $(wildcard $(PATH_DEVTOOLS_BLD)/bin/tar$(HOSTSUFF_EXE)) | 
|---|
| 41 | endif | 
|---|
| 42 | ifeq ($(TOOL_TAR_TAR),) | 
|---|
| 43 | TOOL_TAR_TAR := $(lastword $(sort $(TOOL_TAR_TAR))) | 
|---|
| 44 | else | 
|---|
| 45 | TOOL_TAR_TAR := tar$(HOSTSUFF_EXE) | 
|---|
| 46 | endif | 
|---|
| 47 | else | 
|---|
| 48 | TOOL_TAR_TAR := $(TOOL_TAR_TAR) | 
|---|
| 49 | endif | 
|---|
| 50 | TOOL_TAR_UNPACK ?= $(TOOL_TAR_TAR) | 
|---|
| 51 |  | 
|---|
| 52 | # General Properties used by kBuild | 
|---|
| 53 | TOOL_TAR_UNPACKFLAGS ?= | 
|---|
| 54 |  | 
|---|
| 55 | ## UNPACK one file. | 
|---|
| 56 | # @param    $(target)   Normalized main target name. | 
|---|
| 57 | # @param    $(archive)  The file to unpack. | 
|---|
| 58 | # @param    $(flags)    Flags. | 
|---|
| 59 | # @param        $(inst)         Where to unpack it. | 
|---|
| 60 | # @param        $(out)          Where to write the file list. | 
|---|
| 61 | TOOL_TAR_UNPACK_OUTPUT = | 
|---|
| 62 | TOOL_TAR_UNPACK_DEPEND = | 
|---|
| 63 | TOOL_TAR_UNPACK_DEPORD = | 
|---|
| 64 | ifeq ($(KBUILD_HOST),win) # hacking with buggy unxutils on windows. it doesn't like driver letters. | 
|---|
| 65 | define TOOL_TAR_UNPACK_CMDS | 
|---|
| 66 | $(QUIET)$(TOOL_TAR_UNPACK) -x $(flags) -C $(subst G:,,$(inst)) -f $(archive) | 
|---|
| 67 | $(QUIET)$(TOOL_TAR_UNPACK) -t $(flags) -f $(archive) > $(out) | 
|---|
| 68 | endef | 
|---|
| 69 | else | 
|---|
| 70 | define TOOL_TAR_UNPACK_CMDS | 
|---|
| 71 | $(QUIET)$(TOOL_TAR_UNPACK) -x $(flags) -C $(inst) -f $(archive) | 
|---|
| 72 | $(QUIET)$(TOOL_TAR_UNPACK) -t $(flags) -f $(archive) > $(out) | 
|---|
| 73 | endef | 
|---|
| 74 | endif | 
|---|
| 75 |  | 
|---|