Edit

kc3-lang/automake/automake.in

Branch :

  • Show log

    Commit

  • Author : Tom Tromey
    Date : 1995-11-12 23:00:14
    Hash : 56628761
    Message : Set AM_DIR based on configure results.

  • automake.in
  • #! /bin/sh
    # automake - create Makefile.in from Makefile.am
    # Copyright (C) 1994 Free Software Foundation, Inc.
    
    # This program is free software; you can redistribute it and/or modify
    # it under the terms of the GNU General Public License as published by
    # the Free Software Foundation; either version 2, or (at your option)
    # any later version.
    
    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    # GNU General Public License for more details.
    
    # You should have received a copy of the GNU General Public License
    # along with this program; if not, write to the Free Software
    # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    
    # Sample usage: automake Makefile lib/Makefile src/Makefile man/Makefile
    # Written by David Mackenzie <djm@gnu.ai.mit.edu>.
    
    VERSION=@VERSION@
    AM_DIR=@prefix@/share/automake
    
    if test $# -eq 0; then
      echo "Usage: automake Makefile..." >&2
      exit 1
    fi
    
    am_status=0
    
    # Remove \newline.
    am_rmnl=/tmp/am.sed1
    cat > $am_rmnl <<\EOF
    /\\$/{
      s///
      H
      d
    }
    /[^\\]$/{
      H
      x
      s/\n//g
      p
      s/.*//
      h
    }
    EOF
    
    # Turn Makefile target and variable assignments
    # into shell variable assignments.
    am_ass=/tmp/am.sed2
    cat > $am_ass <<\EOF
    s/(/{/g
    s/)/}/g
    /^ *\([a-zA-Z_.][a-zA-Z0-9_.]*\):.*/{
    s//target_\1=explicit/
    s/\./_/g
    p
    }
    s/^ *\([A-Z][A-Z0-9_]*\)[	 ]*=[	 ]*\(.*\)/\1='\2'/p
    EOF
    
    for am_makefile
    do
      if test ! -f ${am_makefile}.am; then
        echo "automake: ${am_makefile}.am: No such honkin' file"
        am_status=1
        continue
      fi
    
      echo creating ${am_makefile}.in
    
      exec 4> ${am_makefile}.vars
      exec 5> ${am_makefile}.rules
    
      cat $AM_DIR/header-vars.am >&4
      cat $AM_DIR/header.am >&5
    
      DEFS= INCLUDES= CPPFLAGS= CFLAGS=
      SOURCES= CONFIG_HEADER= SUBDIRS= PROGRAMS= LIBPROGRAMS= SCRIPTS= LIBSCRIPTS=
      LIBRARIES= TEXINFOS= MANS= ALLPROGRAMS=
    
      eval `sed -n -f $am_rmnl ${am_makefile}.am | sed -n -f $am_ass`
    
      test -n "$ALLPROGRAMS" || {
         echo "ALLPROGRAMS = $PROGRAMS" >&4
      }
    
      if grep @kr@ ${am_makefile}.am >/dev/null; then
        kr='${kr}'
      else
        kr=
      fi
    
      if test -n "$PROGRAMS$LIBPROGRAMS$LIBRARIES"; then
        cat $AM_DIR/compile-vars.am >&4
        cat $AM_DIR/compile.am >&5
        grep @kr@ ${am_makefile}.am >/dev/null && cat $AM_DIR/compile-kr.am >&5
        for am_file in $PROGRAMS $LIBPROGRAMS $LIBRARIES; do
          if grep "^[	 ]*${am_file}_SOURCES[	 ]*=" ${am_makefile}.am >/dev/null; then
            if grep "^[	 ]*${am_file}_OBJECTS[	 ]*=" ${am_makefile}.am >/dev/null; then
              :
            else
              sed -n -f $am_rmnl ${am_makefile}.am |
              sed -n "/^[	 ]*${am_file}_SOURCES[	 ]*=/{
    s/SOURCES/OBJECTS/
    s/@[^@]*@//g
    s/\$([^)]*)//g
    s/\${[^}]*}//g
    s/\\.cc/.${kr}o/g
    s/\\.\${kr}c/.${kr}o/g
    s/\\.\$(kr)c/.${kr}o/g
    s/\\.[cCmylfs]/.${kr}o/g
    p
    }" >&4
            fi
            SOURCES="$SOURCES \${${am_file}_SOURCES}"
          else
            echo "${am_file}_SOURCES = ${am_file}.c
    ${am_file}_OBJECTS = ${am_file}.${kr}o" >&4
            SOURCES="$SOURCES ${am_file}.c"
          fi
          if test -n "$CONFIG_HEADER"; then
            echo "\$(${am_file}_OBJECTS): $CONFIG_HEADER" >&5
          fi
        done
      fi
    
      if test -n "$PROGRAMS$LIBPROGRAMS$SCRIPTS$LIBSCRIPTS"; then
        if test -n "$PROGRAMS$SCRIPTS"; then
          cat $AM_DIR/programs.am >&5
        fi
        if test -n "$LIBPROGRAMS$LIBSCRIPTS"; then
          cat $AM_DIR/libprograms.am >&5
        fi
        if test -n "$PROGRAMS$LIBPROGRAMS"; then
          for am_prog in $PROGRAMS $LIBPROGRAMS; do
            eval "test \"\$target_$am_prog\" != explicit" &&
              sed "s/@PROGRAM@/$am_prog/g" $AM_DIR/program.am >&5
          done
        fi
      fi
    
      if test -n "$LIBRARIES"; then
        echo "LIBFILES = " `echo "$LIBRARIES"|sed 's/\([a-zA-Z0-9_][a-zA-Z0-9_]*\)/lib\1.a/g'` >&4
        cat $AM_DIR/libraries-vars.am >&4
        cat $AM_DIR/libraries.am >&5
        for am_lib in $LIBRARIES; do
          sed "s/@LIBRARY@/$am_lib/g" $AM_DIR/library.am >&5
        done
      fi
    
      if test -n "$TEXINFOS"; then
        cat $AM_DIR/texinfos-vars.am >&4
        cat $AM_DIR/texinfos.am >&5
        echo "$TEXINFOS" | sed 's/^/INFOS = /; s/\.texi/.info*/g' >&4
        echo "$TEXINFOS" | sed 's/^/INFO_DEPS = /; s/\.texi/.info/g' >&4
        echo "$TEXINFOS" | sed 's/^/DVIS = /; s/\.texi/.dvi/g' >&4
      fi
    
      if test -n "$MANS"; then
        cat $AM_DIR/mans-vars.am >&4
        cat $AM_DIR/mans.am >&5
      fi
    
      case "$SUBDIRS" in
      "") if grep @kr@ ${am_makefile}.am >/dev/null; then
          cat $AM_DIR/clean-kr.am >&5
          else cat $AM_DIR/clean.am >&5
          fi
          cat $AM_DIR/footer.am >&5 ;;
      *) cat $AM_DIR/subdirs.am >&5 ;;
      esac
    
      case "$am_makefile" in
       */*)
          cat $AM_DIR/remake-subd.am >&5
          ;;
       *)
          test -f aclocal.m4 && echo "ACLOCAL = aclocal.m4" >&4
          cat $AM_DIR/remake.am >&5
          ;;
      esac
    
      case "$CONFIG_HEADER" in
      "") ;;
      */*) ;; # It's in some other directory, so don't remake it in this one.
      *)
        test -f acconfig.h && echo "ACCONFIG = acconfig.h" >&4
        test -f config.h.top && echo "CONFIG_TOP = config.h.top" >&4
        test -f config.h.bot && echo "CONFIG_BOT = config.h.bot" >&4
        cat $AM_DIR/remake-hdr.am >&5 ;;
      esac
    
      echo "SOURCES = $SOURCES" >&4
    
      case "$am_makefile" in
      */*) 
         amdir=`echo "$am_makefile" | sed 's,//*[^/][^/]*$,,g'`
         cat $AM_DIR/dist-subd-vars.am >&4
         echo "subdir = $amdir" >&5
         cat $AM_DIR/dist-subd.am >&5
         ;;
      *)
         cat $AM_DIR/dist-vars.am >&4
         if test -n "$SUBDIRS"; then
    	cat $AM_DIR/dist-subd-top.am >&5
         else
    	cat $AM_DIR/dist.am >&5
         fi
         ;;
      esac
    
      sed '/^[^#=]*:/,$d' ${am_makefile}.am >&4
      sed -n '/^[^#=]*:/,$p' ${am_makefile}.am >&5
      cat ${am_makefile}.vars ${am_makefile}.rules > ${am_makefile}.in
      rm -f ${am_makefile}.vars ${am_makefile}.rules
    
    done
    
    rm -f $am_rmnl $am_ass
    
    exit $am_status