Makefile revision 1258
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews#
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# CDDL HEADER START
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews#
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# The contents of this file are subject to the terms of the
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# Common Development and Distribution License (the "License").
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# You may not use this file except in compliance with the License.
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews#
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# or http://www.opensolaris.org/os/licensing.
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# See the License for the specific language governing permissions
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# and limitations under the License.
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews#
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# When distributing Covered Code, include this CDDL HEADER in each
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# If applicable, add the following below this CDDL HEADER, with the
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# fields enclosed by brackets "[]" replaced with your own identifying
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# information: Portions Copyright [yyyy] [name of copyright owner]
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews#
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# CDDL HEADER END
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews#
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews#
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrewsinclude ../../make-rules/shared-macros.mk
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark AndrewsCOMPONENT_NAME= hwdata
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark AndrewsCOMPONENT_VERSION= 0.5.11
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrewsinclude ../../make-rules/ips.mk
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# Since upstream only offers the latest snapshot for download, without
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# any way to retrieve a specific version, we just keep the currently
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# shipped versions of these two text files directly in the gate and
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# simply check in new versions to update them.
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews#
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# When it's time to update, you can use these rules to download with
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# 'gmake -B pci.ids usb.ids' After updating the data files, ensure
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# that the header with version/date and license info is still being
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# correctly extracted and copied into the generated license files.
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrewsdownload::
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews @echo 'No downloads for this component'
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark AndrewsID_FILES = pci.ids usb.ids
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark AndrewsCOMPONENT_ARCHIVE_URL_pci.ids = http://pciids.sourceforge.net/v2.2/pci.ids
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark AndrewsCOMPONENT_ARCHIVE_URL_usb.ids = http://www.linux-usb.org/usb.ids
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark AndrewsCOMPONENT_ARCHIVE_URLS = $(foreach i,$(ID_FILES),$(COMPONENT_ARCHIVE_URL_$(i)))
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark AndrewsCOMPONENT_BUGDB= utility/hwdata
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark AndrewsPKG_OPTIONS += -D COMPONENT_ARCHIVE_URLS='$(COMPONENT_ARCHIVE_URLS:%=value="%")'
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews$(ID_FILES):
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews curl -s -o $@ $(COMPONENT_ARCHIVE_URL_$(@F))
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# License files for packaging are generated during the build
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark AndrewsLICENSES = $(ID_FILES:%=%.license)
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark AndrewsBUILT_LICENSES = $(LICENSES:%=$(BUILD_DIR)/%)
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark AndrewsTPNO_pci.ids.license = 7530
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark AndrewsTPNO_usb.ids.license = 7831
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# Extract the header up to the first blank line
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews$(BUILD_DIR)/%.header: %
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews $(MKDIR) $(@D)
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews $(GSED) -e '/^$$/ q' $< > $@
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# Generate license files for each document by substituting in templates:
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# __FILE_NAME_VERS__ replace with name & version of ids file
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# __TPNO__ - Oracle tracking number
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# __HEADER__ - read in contents of generated header file, then delete the
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews# __HEADER__ line
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews$(BUILD_DIR)/%.license: $(BUILD_DIR)/%.header
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews FILENAME="$(basename $(@F))" ; \
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews VERSION="$$(awk -F: '/Version:/ { print $$2 ; exit }' $<)" ; \
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews FILE_NAME_VERS="$${FILENAME}$${VERSION}" ; \
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews $(GSED) -e "s/__FILE_NAME_VERS__/$${FILE_NAME_VERS}/" \
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews -e 's/__TPNO__/$(TPNO_$(@F))/' \
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews -e '/__HEADER__/ r $<' -e '/__HEADER__/ d' ids.license.tmpl > $@
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrewsinstall build: $(BUILT_LICENSES)
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrewstest: $(NO_TESTS)
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrewsclobber clean::
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews $(RM) -r $(BUILD_DIR)
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrewsinclude ../../make-rules/depend.mk
5d51e67c3b4f35c1be742574aacc1d88fe6ed444Mark Andrews