| 1 | # $Id: ZIP.kmk 2018 2008-11-02 00:08:56Z bird $ | 
|---|
| 2 | ## @file | 
|---|
| 3 | # kBuild Tool Config - The zip/unzip packer/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_ZIP := The zip/unzip packer/unpacker. | 
|---|
| 35 |  | 
|---|
| 36 | # Tool Specific Properties | 
|---|
| 37 | ifndef TOOL_ZIP_UNPACK | 
|---|
| 38 | TOOL_ZIP_UNPACK := $(wildcard $(PATH_DEVTOOLS_BLD)/unzip/v*/unzip$(HOSTSUFF_EXE)) | 
|---|
| 39 | ifeq ($(TOOL_ZIP_UNPACK),) | 
|---|
| 40 | TOOL_ZIP_UNPACK := $(wildcard $(PATH_DEVTOOLS_BLD)/zip/v*/unzip$(HOSTSUFF_EXE)) | 
|---|
| 41 | endif | 
|---|
| 42 | ifeq ($(TOOL_ZIP_UNPACK),) | 
|---|
| 43 | TOOL_ZIP_UNPACK := $(wildcard $(PATH_DEVTOOLS_BLD)/bin/unzip$(HOSTSUFF_EXE)) | 
|---|
| 44 | endif | 
|---|
| 45 | ifneq ($(TOOL_ZIP_UNPACK),) | 
|---|
| 46 | TOOL_ZIP_UNPACK := $(lastword $(sort $(TOOL_ZIP_UNPACK))) | 
|---|
| 47 | else | 
|---|
| 48 | TOOL_ZIP_UNPACK := unzip$(HOSTSUFF_EXE) | 
|---|
| 49 | endif | 
|---|
| 50 | else | 
|---|
| 51 | TOOL_ZIP_UNPACK := $(TOOL_ZIP_UNPACK) | 
|---|
| 52 | endif | 
|---|
| 53 | #ifndef TOOL_ZIP_PACK | 
|---|
| 54 | # TOOL_ZIP_PACK := $(wildcard $(PATH_DEVTOOLS_BLD)/zip/v*/zip$(HOSTSUFF_EXE)) | 
|---|
| 55 | # ifeq ($(TOOL_ZIP_PACK),) | 
|---|
| 56 | #  TOOL_ZIP_PACK := $(wildcard $(PATH_DEVTOOLS_BLD)/unzip/v*/zip$(HOSTSUFF_EXE)) | 
|---|
| 57 | # endif | 
|---|
| 58 | # ifeq ($(TOOL_ZIP_PACK),) | 
|---|
| 59 | #  TOOL_ZIP_PACK := $(wildcard $(PATH_DEVTOOLS_BLD)/bin/zip$(HOSTSUFF_EXE)) | 
|---|
| 60 | # endif | 
|---|
| 61 | # ifneq ($(TOOL_ZIP_PACK),) | 
|---|
| 62 | #  TOOL_ZIP_PACK := $(lastword $(sort $(TOOL_ZIP_PACK))) | 
|---|
| 63 | # else | 
|---|
| 64 | #  TOOL_ZIP_PACK := zip$(HOSTSUFF_EXE) | 
|---|
| 65 | # endif | 
|---|
| 66 | #else | 
|---|
| 67 | # TOOL_ZIP_PACK := $(TOOL_ZIP_PACK) | 
|---|
| 68 | #endif | 
|---|
| 69 |  | 
|---|
| 70 | # General Properties used by kBuild | 
|---|
| 71 | TOOL_ZIP_UNPACKFLAGS ?= | 
|---|
| 72 |  | 
|---|
| 73 | ## UNPACK one file. | 
|---|
| 74 | # @param $(zipget)   Normalized main zipget name. | 
|---|
| 75 | # @param $(archive)  The file to unpack. | 
|---|
| 76 | # @param $(flags)    Flags. | 
|---|
| 77 | # @param $(inst)     Where to unpack it. | 
|---|
| 78 | # @param $(out)      Where to write the file list. | 
|---|
| 79 | TOOL_ZIP_UNPACK_OUTPUT = | 
|---|
| 80 | TOOL_ZIP_UNPACK_DEPEND = | 
|---|
| 81 | TOOL_ZIP_UNPACK_DEPORD = | 
|---|
| 82 | define TOOL_ZIP_UNPACK_CMDS | 
|---|
| 83 | $(QUIET)$(TOOL_ZIP_UNPACK) $(flags) $(archive) -d "$(inst)" | 
|---|
| 84 | $(QUIET)$(TOOL_ZIP_UNPACK) -l $(archive) | $(SED) \ | 
|---|
| 85 | -e '/ [0-2][0-9]:[0-6][0-9]/!d' \ | 
|---|
| 86 | -e 's/^.* [0-2][0-9]:[0-6][0-9]   //' \ | 
|---|
| 87 | > $(out) | 
|---|
| 88 | endef | 
|---|
| 89 |  | 
|---|