Blame doc/templates/Makefile

Packit 01d647
# ************************************************************* -*- Makefile -*-
Packit 01d647
#
Packit 01d647
# Copyright (C) 2004-2017 Andreas Huggel <ahuggel@gmx.net>
Packit 01d647
#
Packit 01d647
# This Makefile is part of the Exiv2 distribution.
Packit 01d647
#
Packit 01d647
# Redistribution and use in source and binary forms, with or without
Packit 01d647
# modification, are permitted provided that the following conditions
Packit 01d647
# are met:
Packit 01d647
#
Packit 01d647
#    1. Redistributions of source code must retain the above copyright
Packit 01d647
#       notice, this list of conditions and the following disclaimer.
Packit 01d647
#    2. Redistributions in binary form must reproduce the above
Packit 01d647
#       copyright notice, this list of conditions and the following
Packit 01d647
#       disclaimer in the documentation and/or other materials provided
Packit 01d647
#       with the distribution.
Packit 01d647
#    3. The name of the author may not be used to endorse or promote
Packit 01d647
#       products derived from this software without specific prior
Packit 01d647
#       written permission.
Packit 01d647
#
Packit 01d647
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
Packit 01d647
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
Packit 01d647
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
Packit 01d647
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
Packit 01d647
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Packit 01d647
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
Packit 01d647
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
Packit 01d647
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
Packit 01d647
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
Packit 01d647
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
Packit 01d647
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Packit 01d647
#
Packit 01d647
# File:      Makefile
Packit 01d647
# Author(s): Andreas Huggel (ahu) <ahuggel@gmx.net>
Packit 01d647
# History:   28-May-05, ahu: created
Packit 01d647
#
Packit 01d647
# Description:
Packit 01d647
#  Simple Makefile to create html documentation from templates. Requires
Packit 01d647
#  some special tools (awk, python, xsltproc) but really only needs to
Packit 01d647
#  be used to update the documentation after changing Exiv2 tags in the
Packit 01d647
#  source code.
Packit 01d647
#
Packit 01d647
# Restrictions:
Packit 01d647
#  Only tested with GNU make.
Packit 01d647
#
Packit 01d647
Packit 01d647
TABLES = Exif \
Packit 01d647
         Canon \
Packit 01d647
         CanonCs \
Packit 01d647
         CanonSi \
Packit 01d647
         CanonCf \
Packit 01d647
         CanonPi \
Packit 01d647
         CanonFi \
Packit 01d647
         CanonPa \
Packit 01d647
         CanonPr \
Packit 01d647
         Casio \
Packit 01d647
         Casio2 \
Packit 01d647
         Fujifilm \
Packit 01d647
         Minolta \
Packit 01d647
         MinoltaCsNew \
Packit 01d647
         MinoltaCs5D \
Packit 01d647
         MinoltaCs7D \
Packit 01d647
         Nikon1 \
Packit 01d647
         Nikon2 \
Packit 01d647
         Nikon3 \
Packit 01d647
         NikonVr \
Packit 01d647
         NikonPc \
Packit 01d647
         NikonWt \
Packit 01d647
         NikonIi \
Packit 01d647
         NikonAf \
Packit 01d647
         NikonAf2 \
Packit 01d647
         NikonAFT \
Packit 01d647
         NikonFi \
Packit 01d647
         NikonMe \
Packit 01d647
         NikonFl1 \
Packit 01d647
         NikonFl2 \
Packit 01d647
         NikonFl3 \
Packit 01d647
         NikonSiD80 \
Packit 01d647
         NikonSiD40 \
Packit 01d647
         NikonSiD300a \
Packit 01d647
         NikonSiD300b \
Packit 01d647
         NikonSi01xx \
Packit 01d647
         NikonCb1 \
Packit 01d647
         NikonCb2 \
Packit 01d647
         NikonCb2a \
Packit 01d647
         NikonCb2b \
Packit 01d647
         NikonCb3 \
Packit 01d647
         NikonCb4 \
Packit 01d647
         NikonLd1 \
Packit 01d647
         NikonLd2 \
Packit 01d647
         NikonLd3 \
Packit 01d647
         Olympus \
Packit 01d647
         OlympusCs \
Packit 01d647
         OlympusEq \
Packit 01d647
         OlympusRd \
Packit 01d647
         OlympusRd2 \
Packit 01d647
         OlympusIp \
Packit 01d647
         OlympusFi \
Packit 01d647
         OlympusFe1 \
Packit 01d647
         OlympusRi \
Packit 01d647
         Panasonic \
Packit 01d647
         PanasonicRaw \
Packit 01d647
         Pentax \
Packit 01d647
         Samsung2 \
Packit 01d647
         SamsungPictureWizard \
Packit 01d647
         Sigma \
Packit 01d647
         Sony1 \
Packit 01d647
         SonyMinolta \
Packit 01d647
         Sony1Cs \
Packit 01d647
         Sony1Cs2 \
Packit 01d647
         Sony1MltCs7D \
Packit 01d647
         Sony1MltCsOld \
Packit 01d647
         Sony1MltCsA100 \
Packit 01d647
         Sony2Fp
Packit 01d647
Packit 01d647
SCHEMA = xmp_dc \
Packit 01d647
         xmp_dwc \
Packit 01d647
         xmp_dcterms \
Packit 01d647
         xmp_xmp \
Packit 01d647
         xmp_xmpRights \
Packit 01d647
         xmp_xmpMM \
Packit 01d647
         xmp_xmpBJ \
Packit 01d647
         xmp_xmpTPg \
Packit 01d647
         xmp_xmpDM \
Packit 01d647
         xmp_pdf \
Packit 01d647
         xmp_photoshop \
Packit 01d647
         xmp_lr \
Packit 01d647
         xmp_crs \
Packit 01d647
         xmp_crss \
Packit 01d647
         xmp_tiff \
Packit 01d647
         xmp_exif \
Packit 01d647
         xmp_exifEX \
Packit 01d647
         xmp_aux \
Packit 01d647
         xmp_iptc \
Packit 01d647
         xmp_MicrosoftPhoto \
Packit 01d647
         xmp_acdsee \
Packit 01d647
         xmp_digiKam \
Packit 01d647
         xmp_kipi \
Packit 01d647
         xmp_iptcExt \
Packit 01d647
         xmp_plus \
Packit 01d647
         xmp_mediapro \
Packit 01d647
         xmp_expressionmedia \
Packit 01d647
         xmp_GPano \
Packit 01d647
         xmp_MP \
Packit 01d647
         xmp_MPRI \
Packit 01d647
         xmp_MPReg \
Packit 01d647
         xmp_mwg-rs \
Packit 01d647
         xmp_mwg-kw
Packit 01d647
Packit 01d647
TAGLIST = ${EXIV2HOME}/build/bin/taglist
Packit 01d647
Packit 01d647
# **********************************************************************
Packit 01d647
# ======================================================================
Packit 01d647
# **********************************************************************
Packit 01d647
Packit 01d647
# Initialisations
Packit 01d647
SHELL = /bin/sh
Packit 01d647
Packit 01d647
.SUFFIXES:
Packit 01d647
Packit 01d647
# Default make target
Packit 01d647
all: tags
Packit 01d647
Packit 01d647
.PHONY: tags mostlyclean clean distclean maintainer-clean
Packit 01d647
Packit 01d647
tags: $(TABLES) Iptc $(SCHEMA)
Packit 01d647
	@./gen.py *.html.in
Packit 01d647
Packit 01d647
$(TABLES):
Packit 01d647
	@echo Generating $@ table...
Packit 01d647
	@$(TAGLIST) $@ | sed -e"s/</\</g" -e"s/>/\>/g" | awk -f tags.awk > $@.xml
Packit 01d647
	@xsltproc tags.xsl $@.xml > $@.tmp
Packit 01d647
	@sed "s/report1/$@/" $@.tmp > __$@__
Packit 01d647
	@touch $@
Packit 01d647
	@rm -f $@.tmp
Packit 01d647
Packit 01d647
Iptc:
Packit 01d647
	@echo Generating $@ table...
Packit 01d647
	@$(TAGLIST) $@ | sed -e"s/</\</g" -e"s/>/\>/g" -e"s/�/\±/g" \
Packit 01d647
	               | awk -f iptc.awk > $@.xml
Packit 01d647
	@xsltproc iptc.xsl $@.xml > $@.tmp
Packit 01d647
	@sed "s/report1/$@/g" $@.tmp > __$@__
Packit 01d647
	@touch $@
Packit 01d647
	@rm -f $@.tmp
Packit 01d647
Packit 01d647
$(SCHEMA):
Packit 01d647
	@echo Generating $@ table...
Packit 01d647
	@echo $@ | sed "s/xmp_//" | xargs $(TAGLIST) | sed -e"s/</\</g" -e"s/>/\>/g" | awk -f xmp.awk > $@.xml
Packit 01d647
	@xsltproc xmp.xsl $@.xml > $@.tmp
Packit 01d647
	@sed "s/report1/$@/" $@.tmp > __$@__
Packit 01d647
	@touch $@
Packit 01d647
	@rm -f $@.tmp
Packit 01d647
Packit 01d647
$(TAGLIST):
Packit 01d647
	$(error File $(TAGLIST) does not exist. Did you build the library and programs in the src/ directory?)
Packit 01d647
Packit 01d647
mostlyclean:
Packit 01d647
	rm -f *.xml
Packit 01d647
	rm -f *.tmp
Packit 01d647
Packit 01d647
clean: mostlyclean
Packit 01d647
	rm -f $(TABLES:%=__%__) __Iptc__
Packit 01d647
	rm -f $(SCHEMA:%=__%__)
Packit 01d647
	rm -f $(TABLES) $(SCHEMA) Iptc
Packit 01d647
	rm -f *.html
Packit 01d647
Packit 01d647
distclean: clean
Packit 01d647
	rm -f *~
Packit 01d647
Packit 01d647
maintainer-clean: distclean