From: Tom Tromey Date: Thu, 23 Nov 1995 03:38:45 +0000 (+0000) Subject: Many changes to avoid double-colon rules. X-Git-Tag: Release-0-25~205 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=5d9a14f479a60d326ec58c303e49325640649717;p=automake.git Many changes to avoid double-colon rules. --- diff --git a/automake.in b/automake.in index 635483d8..1d3c9296 100755 --- a/automake.in +++ b/automake.in @@ -147,6 +147,12 @@ for am_makefile in $mfiles; do SOURCES= CONFIG_HEADER= SUBDIRS= PROGRAMS= LIBPROGRAMS= SCRIPTS= LIBSCRIPTS= LIBRARIES= TEXINFOS= MANS= AM_PROGRAMS= am_suffixes= + # The following are targets that formerly were implemented as + # double-colon rules. Nowadays we have to construct such lists + # explicitly. + installexec= uninstallexec= id= tags= info= dvi= check= + installdata= uninstalldata= all='${ALL}' + install= uninstall= eval `sed -n -f $am_rmnl ${am_makefile}.am | sed -n -f $am_ass` @@ -219,20 +225,29 @@ p done fi + # # Boilerplate for scripts or programs. # if test -n "$PROGRAMS"; then cat $am_dir/programs.am >&5 + installexec="install-programs $installexec" + uninstallexec="uninstall-programs $uninstallexec" fi if test -n "$SCRIPTS"; then cat $am_dir/scripts.am >&5 + installexec="install-scripts $installexec" + uninstallexec="uninstall-scripts $uninstallexec" fi if test -n "$LIBPROGRAMS$LIBSCRIPTS"; then cat $am_dir/libprograms.am >&5 + installexec="install-libprograms $installexec" + uninstallexec="uninstall-libprograms $uninstallexec" fi if test -n "$LIBSCRIPTS"; then cat $am_dir/libscripts.am >&5 + installexec="install-libscripts $installexec" + uninstallexec="uninstall-libscripts $uninstallexec" fi if test -n "$PROGRAMS$LIBPROGRAMS$SCRIPTS$LIBSCRIPTS"; then @@ -257,6 +272,10 @@ p 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 + + installexec="install-libraries $installexec" + uninstallexec="uninstall-libraries $uninstallexec" + for am_lib in $LIBRARIES; do sed "s/@LIBRARY@/$am_lib/g" $am_dir/library.am >&5 done @@ -266,6 +285,11 @@ p cat $am_dir/texinfos-vars.am >&4 cat $am_dir/texinfos.am >&5 am_suffixes=".texi .info .dvi $am_suffixes" + installdata="install-info $installdata" + uninstalldata="uninstall-info $uninstalldata" + info="\$(INFO_DEPS) $info" + dvi="\$(DVIS) $dvi" + 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 @@ -274,6 +298,9 @@ p if test -n "$MANS"; then cat $am_dir/mans-vars.am >&4 cat $am_dir/mans.am >&5 + + installdata="install-man $installdata" + uninstalldata="uninstall-man $uninstall" fi @@ -282,18 +309,38 @@ p # if test -n "$DATA"; then cat $am_dir/data.am >&5 + installdata="install-ddata $installdata" + uninstalldata="uninstall-ddata $uninstalldata" fi if test -n "$PACKAGEDATA"; then cat $am_dir/packagedata.am >&5 + installdata="install-pdata $installdata" + uninstalldata="uninstall-pdata $uninstalldata" 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 + "") + 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 ;; + cat $am_dir/footer.am >&5 + ;; + *) + cat $am_dir/subdirs.am >&5 + + all="all-recursive $all" + installdata="install-data-recursive $installdata" + installexec="install-exec-recursive $installexec" + uninstalldata="uninstall-data-recursive $uninstalldata" + uninstallexec="uninstall-exec-recursive $uninstallexec" + check="check-recursive $check" + info="info-recursive $info" + dvi="dvi-recursive $dvi" + install="install-recursive $install" + uninstall="uninstall-recursive $uninstall" + ;; esac case "$am_makefile" in @@ -396,7 +443,6 @@ p fi fi - # # Some final checks. # @@ -406,9 +452,75 @@ p } + # Copy from Makefile.am to output. FIXME should do SOURCES= after + # this. sed '/^[^#=]*:/,$d' ${am_makefile}.am >&4 sed -n '/^[^#=]*:/,$p' ${am_makefile}.am >&5 - cat ${am_makefile}.vars ${am_makefile}.rules > ${am_makefile}.in + + + # Output variable definitions. + exec 6> ${am_makefile}.in + + cat ${am_makefile}.vars >&6 + + # + # Merge any targets that need to be merged. + # + for am_target in all info dvi check; do + # If user specified the local form of the target, then include it. + if eval "test \"\$target_${am_target}_local\" = explicit"; then + eval "${am_target}=\"${am_target}-local \$${am_target}\"" + fi + + # Always print these targets; GNU makefile standards require it. + eval "am_val=\"\$${am_target}\"" + echo "${am_target}: ${am_val}" >&6 + echo >&6 + done + + # Handle the various install targets specially, because we do name + # hackery. This is truly gross. + if test -n "$target_install_exec_local"; then + installexec="install-exec-local $installexec" + fi + if test -n "$target_uninstall_exec_local"; then + uninstallexec="uninstall-exec-local $uninstallexec" + fi + if test -n "$target_install_data_local"; then + installdata="install-data-local $installdata" + fi + if test -n "$target_uninstall_data_local"; then + uninstalldata="uninstall-data-local $uninstalldata" + fi + + if test -n "$installexec"; then + install="install-exec $install" + echo "install-exec: $installexec" >&6 + echo >&6 + fi + if test -n "$uninstallexec"; then + uninstall="uninstall-exec $uninstall" + echo "uninstall-exec: $uninstallexec" >&6 + echo >&6 + fi + if test -n "$installdata"; then + install="install-data $install" + echo "install-data: $installdata" >&6 + echo >&6 + fi + if test -n "$uninstalldata"; then + uninstall="uninstall-data $uninstall" + echo "uninstall-data: $uninstalldata" >&6 + echo >&6 + fi + + echo "install: $install" >&6 + echo >&6 + echo "uninstall: $uninstall" >&6 + echo >&6 + + + cat ${am_makefile}.rules >&6 rm -f ${am_makefile}.vars ${am_makefile}.rules )