Changeset 63fc514 for BLFS/Makefile


Ignore:
Timestamp:
02/22/2012 05:09:47 PM (13 years ago)
Author:
Pierre Labastie <pierre@…>
Branches:
ablfs
Children:
c1987b0
Parents:
0216209
Message:

Initial modificaiton of BLFS tools

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BLFS/Makefile

    r0216209 r63fc514  
    22# Modified By: Joe Ciccone <jciccone@linuxfromscratch.org
    33# Additional changes: George Boudreau <georgeb@linuxfromscratch.org>
     4#                     Pierre Labastie <pierre.labastie at neuf.fr>
    45
    5 # $Id$
     6# $Id: Makefile 36 2012-02-22 13:01:46Z labastie $
     7
     8ifdef V
     9  Q =
     10else
     11  Q = @
     12endif
    613
    714LANG=C
    815LC_ALL=C
     16TRACKING_DIR = tracking-dir
    917TOPDIR=$(shell pwd)
    10 CONFIG_CONFIG_IN = Config.in
    11 CONFIG = menu
     18BLFS_XML = $(TOPDIR)/blfs-xml
     19XSLDIR = $(TOPDIR)/xsl
    1220
    13 all:    menuconfig
     21RENDERTMP = $(BLFS_XML)/tmp
     22BLFS_FULL = $(RENDERTMP)/blfs-full.xml
     23PACK_LIST = $(TOPDIR)/packages.xml
     24MENU = $(TOPDIR)/menu
     25CONFIG_CONFIG_IN = $(TOPDIR)/Config.in
     26CONFIG_OUT = $(TOPDIR)/configuration
     27BOOK_XML = $(TOPDIR)/book.xml
     28TRACKFILE = $(TRACKING_DIR)/instpkg.xml
    1429
    15 $(CONFIG)/conf:
    16         $(MAKE) -B -C $(CONFIG) conf
     30define INITIAL_TRACK
     31<?xml version="1.0" encoding="ISO-8859-1"?>\
     32\
     33<!DOCTYPE sublist SYSTEM "$(TOPDIR)/packdesc.dtd">\
     34<sublist>\
     35  <name>Installed</name>\
     36</sublist>
     37endef
    1738
    18 $(CONFIG)/mconf:
    19         $(MAKE) -B -C $(CONFIG) ncurses conf mconf
     39SVN = svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK
    2040
    21 menuconfig: $(CONFIG)/mconf
    22         @./update_book.sh none
    23         @./gen_config.sh
    24         @$(CONFIG)/mconf $(CONFIG_CONFIG_IN)
    25         @./gen_pkg_book.sh
     41ALLXML := $(filter-out $(RENDERTMP)/%, \
     42        $(wildcard $(BLFS_XML)/*.xml $(BLFS_XML)/*/*.xml $(BLFS_XML)/*/*/*.xml $(BLFS_XML)/*/*/*/*.xml $(BLFS_XML)/*/*/*/*/*.xml))
     43ALLXSL := $(filter-out $(RENDERTMP)/%, \
     44        $(wildcard $(BLFS_XML)/*.xsl $(BLFS_XML)/*/*.xsl $(BLFS_XML)/*/*/*.xsl $(BLFS_XML)/*/*/*/*.xsl $(BLFS_XML)/*/*/*/*/*.xsl))
    2645
    27 config: $(CONFIG)/conf
    28         @$(CONFIG)/conf $(CONFIG_CONFIG_IN)
     46$(BOOK_XML): $(CONFIG_OUT)
     47        $(Q)$(TOPDIR)/gen_pkg_book.sh $(TOPDIR) $(BLFS_FULL)
     48
     49$(CONFIG_OUT): $(CONFIG_CONFIG_IN) $(MENU)/mconf
     50        $(Q)$(MENU)/mconf $(CONFIG_CONFIG_IN)
     51
     52$(MENU)/mconf:
     53        $(Q)$(MAKE) -C $(MENU) ncurses conf mconf
     54
     55$(CONFIG_CONFIG_IN): $(PACK_LIST) $(XSLDIR)/gen_config.xsl
     56        $(Q)xsltproc --nonet -o $@ $(XSLDIR)/gen_config.xsl $(PACK_LIST)
     57
     58$(PACK_LIST): $(XSLDIR)/gen_pkg_list.xsl $(XSLDIR)/specialCases.xsl $(TRACKFILE)
     59        $(Q)xsltproc --stringparam installed-packages $(TRACKFILE) \
     60        -o $@.tmp $(XSLDIR)/gen_pkg_list.xsl $(BLFS_FULL)
     61        $(Q)xmllint --postvalid --format -o $@ $@.tmp
     62        $(Q)rm $@.tmp
     63
     64$(TRACKFILE): $(TRACKING_DIR)
     65        $(Q)if ! [ -f $@ ]; then \
     66        echo Initializing $(TRACKFILE) && \
     67        echo '$(INITIAL_TRACK)' > $@ && \
     68        $(MAKE) $(PACK_LIST) && \
     69        for track in $(TRACKING_DIR)/*-*; do \
     70        pack=$$(echo $$track | sed 's@.*/\(.*\)-[0-9c].*@\1@') && \
     71        xsltproc --stringparam packages $(PACK_LIST) \
     72        --stringparam package $$pack \
     73        -o track.tmp $(XSLDIR)/bump.xsl $@ && \
     74        sed -i 's@PACKDESC@$(TOPDIR)/packdesc.dtd@' track.tmp && \
     75        xmllint --format --postvalid track.tmp > $@; \
     76        done; \
     77        rm -f track.tmp; \
     78        fi
     79
     80$(TRACKING_DIR):
     81        @echo Creating $(TRACKING_DIR)
     82        $(Q)mkdir -p $@
     83
     84$(XSLDIR)/specialCases.xsl: $(TOPDIR)/gen-special.sh $(BLFS_FULL)
     85        $(Q)$(TOPDIR)/gen-special.sh $(BLFS_FULL) $@
     86
     87$(BLFS_FULL): $(BLFS_XML) $(BLFS_XML)/general.ent $(ALLXML) $(ALLXSL)
     88        @echo "Validating the book..."
     89        $(Q)[ -d $(RENDERTMP) ] || mkdir -p $(RENDERTMP)
     90        $(Q)xmllint --nonet --noent --xinclude --postvalid \
     91          -o $@ $(BLFS_XML)/index.xml
     92
     93all: update $(BOOK_XML)
     94
     95update: $(BLFS_XML)
     96        @echo Updating the book sources
     97        $(Q)cd $(BLFS_XML) && svn up
     98
     99$(BLFS_XML):
     100        @echo Getting the book sources...
     101        $(Q)svn co $(SVN) $@
    29102
    30103# Clean up
    31104
    32105clean:
    33         rm -f configuration configuration.old error
    34         - $(MAKE) -C $(CONFIG) clean
     106        rm -f $(CONFIG_OUT) $(CONFIG_OUT).old $(TOPDIR)/packages.xml $(XSLDIR)/specialCases.xsl $(CONFIG_CONFIG_IN) book.xml
     107        rm -rf $(TOPDIR)/dependencies $(TOPDIR)/book-html $(TOPDIR)/scripts
     108        - $(MAKE) -C $(MENU) clean
    35109
    36 clean-target:
    37         rm -f error
    38         - $(MAKE) -C $(CONFIG) clean
    39 
    40 .PHONY: all menuconfig config clean clean-target $(CONFIG)/conf $(CONFIG)/mconf
     110.PHONY: clean all update $(CONFIG_OUT)
Note: See TracChangeset for help on using the changeset viewer.