* lisp.am (install-@DIR@LISP): Handle nobase_ case.
(uninstall-@DIR@LISP): Likewise.
* header.am (install-@DIR@HEADERS): Handle nobase_ case.
(uninstall-@DIR@HEADERS): Likewise.
* data.am (install-@DIR@DATA): Handle nobase_ case.
(uninstall-@DIR@DATA): Likewise.
* automake.in (am_primary_prefixes): Recognize `nobase_' prefix.
(am_install_var): Recognize and handle `nobase_' prefix.
+1999-12-18 Tom Tromey <tromey@cygnus.com>
+
+ Partial fix for PR automake/40:
+ * lisp.am (install-@DIR@LISP): Handle nobase_ case.
+ (uninstall-@DIR@LISP): Likewise.
+ * header.am (install-@DIR@HEADERS): Handle nobase_ case.
+ (uninstall-@DIR@HEADERS): Likewise.
+ * data.am (install-@DIR@DATA): Handle nobase_ case.
+ (uninstall-@DIR@DATA): Likewise.
+ * automake.in (am_primary_prefixes): Recognize `nobase_' prefix.
+ (am_install_var): Recognize and handle `nobase_' prefix.
+
1999-12-17 Tom Tromey <tromey@cygnus.com>
* automake.in (get_object_extension): Added space before `-I.'.
$valid{'EXTRA'} = 0;
foreach $varname (keys %contents)
{
- if ($varname =~ /^(dist_|nodist_)?(.*)_$primary$/)
+ if ($varname =~ /^(nobase_)?(dist_|nodist_)?(.*)_$primary$/)
{
- if (($1 ne '' && ! $can_dist)
- || (! defined $valid{$2}
- && ! &variable_defined ($2 . 'dir')
+ if (($2 ne '' && ! $can_dist)
+ || (! defined $valid{$3}
+ && ! &variable_defined ($3 . 'dir')
# Note that a configure variable is always
# legitimate. It is natural to name such
# variables after the primary, so we explicitly
else
{
# Ensure all extended prefixes are actually used.
- $valid{$1 . $2} = 1;
+ $valid{$1 . $2 . $3} = 1;
}
}
}
local ($one_name);
local ($X);
local ($nodir_name);
+ local ($strip_subdir) = 1;
foreach $X (sort keys %valid)
{
$one_name = $X . '_' . $primary;
if (&variable_defined ($one_name))
{
+ # If subdir prefix should be preserved, do so.
+ if ($X =~ /^nobase_/)
+ {
+ $strip_subdir = 0;
+ $X =~ s/^nobase_//;
+ }
+
# If files should be distributed, do so.
if ($can_dist)
{
next;
}
+ local ($subdir_xform);
+ if ($strip_subdir)
+ {
+ $subdir_xform = 's/^NOBASE.*$//; s/^BASE//;';
+ }
+ else
+ {
+ $subdir_xform = 's/^BASE.*$//; s/^NOBASE//;';
+ }
+
$output_rules .=
&file_contents_with_transform ('s/\@DIR\@/' . $X . '/g;'
. 's/\@NDIR\@/' . $nodir_name . '/go;'
- . $ltxform . $cygxform,
+ . $ltxform . $cygxform
+ . $subdir_xform,
$file);
push (@uninstall, 'uninstall-' . $X . $primary);
## If the _DATA variable has an entry like foo/bar, install it as
## $(destdir)/bar, not $(destdir)/foo/bar. The user can always make a
## new dir variable for the latter case.
- f="`echo $$p | sed -e 's|^.*/||'`"; \
+BASE f="`echo $$p | sed -e 's|^.*/||'`"; \
+NOBASE f="$$p"; \
echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(@NDIR@dir)/$$f"; \
$(INSTALL_DATA) $$d$$p $(DESTDIR)$(@NDIR@dir)/$$f; \
done
uninstall-@DIR@DATA:
@$(NORMAL_UNINSTALL)
@list='$(@DIR@_DATA)'; for p in $$list; do \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
+BASE f="`echo $$p | sed -e 's|^.*/||'`"; \
+NOBASE f="$$p"; \
echo " rm -f $(DESTDIR)$(@NDIR@dir)/$$f"; \
rm -f $(DESTDIR)$(@NDIR@dir)/$$f; \
done
@list='$(@DIR@_HEADERS)'; for p in $$list; do \
## A header file can be in the source directory or the build directory.
if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
+BASE f="`echo $$p | sed -e 's|^.*/||'`"; \
+NOBASE f="$$p"; \
echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(@NDIR@dir)/$$f"; \
$(INSTALL_DATA) $$d$$p $(DESTDIR)$(@NDIR@dir)/$$f; \
done
uninstall-@DIR@HEADERS:
@$(NORMAL_UNINSTALL)
@list='$(@DIR@_HEADERS)'; for p in $$list; do \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
+BASE f="`echo $$p | sed -e 's|^.*/||'`"; \
+NOBASE f="$$p"; \
echo " rm -f $(DESTDIR)$(@NDIR@dir)/$$f"; \
rm -f $(DESTDIR)$(@NDIR@dir)/$$f; \
done
## If the _DATA variable has an entry like foo/bar, install it as
## $(destdir)/bar, not $(destdir)/foo/bar. The user can always make a
## new dir variable for the latter case.
- f="`echo $$p | sed -e 's|^.*/||'`"; \
+BASE f="`echo $$p | sed -e 's|^.*/||'`"; \
+NOBASE f="$$p"; \
echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(@NDIR@dir)/$$f"; \
$(INSTALL_DATA) $$d$$p $(DESTDIR)$(@NDIR@dir)/$$f; \
done
uninstall-@DIR@DATA:
@$(NORMAL_UNINSTALL)
@list='$(@DIR@_DATA)'; for p in $$list; do \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
+BASE f="`echo $$p | sed -e 's|^.*/||'`"; \
+NOBASE f="$$p"; \
echo " rm -f $(DESTDIR)$(@NDIR@dir)/$$f"; \
rm -f $(DESTDIR)$(@NDIR@dir)/$$f; \
done
@list='$(@DIR@_HEADERS)'; for p in $$list; do \
## A header file can be in the source directory or the build directory.
if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
+BASE f="`echo $$p | sed -e 's|^.*/||'`"; \
+NOBASE f="$$p"; \
echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(@NDIR@dir)/$$f"; \
$(INSTALL_DATA) $$d$$p $(DESTDIR)$(@NDIR@dir)/$$f; \
done
uninstall-@DIR@HEADERS:
@$(NORMAL_UNINSTALL)
@list='$(@DIR@_HEADERS)'; for p in $$list; do \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
+BASE f="`echo $$p | sed -e 's|^.*/||'`"; \
+NOBASE f="$$p"; \
echo " rm -f $(DESTDIR)$(@NDIR@dir)/$$f"; \
rm -f $(DESTDIR)$(@NDIR@dir)/$$f; \
done
@list='$(@DIR@_LISP)'; for p in $$list; do \
## A lisp file can be in the source directory or the build directory.
if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
+BASE f="`echo $$p | sed -e 's|^.*/||'`"; \
+NOBASE f="$$p"; \
echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(@NDIR@dir)/$$f"; \
$(INSTALL_DATA) $$d$$p $(DESTDIR)$(@NDIR@dir)/$$f; \
## Only install .elc file if it exists.
uninstall-@DIR@LISP:
@$(NORMAL_UNINSTALL)
@list='$(@DIR@_LISP)'; for p in $$list; do \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
+BASE f="`echo $$p | sed -e 's|^.*/||'`"; \
+NOBASE f="$$p"; \
echo " rm -f $(@NDIR@dir)/$$f $(DESTDIR)$(@NDIR@dir)/$${f}c"; \
rm -f $(@NDIR@dir)/$$f $(DESTDIR)$(@NDIR@dir)/$${f}c; \
done
@list='$(@DIR@_LISP)'; for p in $$list; do \
## A lisp file can be in the source directory or the build directory.
if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
+BASE f="`echo $$p | sed -e 's|^.*/||'`"; \
+NOBASE f="$$p"; \
echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(@NDIR@dir)/$$f"; \
$(INSTALL_DATA) $$d$$p $(DESTDIR)$(@NDIR@dir)/$$f; \
## Only install .elc file if it exists.
uninstall-@DIR@LISP:
@$(NORMAL_UNINSTALL)
@list='$(@DIR@_LISP)'; for p in $$list; do \
- f="`echo $$p | sed -e 's|^.*/||'`"; \
+BASE f="`echo $$p | sed -e 's|^.*/||'`"; \
+NOBASE f="$$p"; \
echo " rm -f $(@NDIR@dir)/$$f $(DESTDIR)$(@NDIR@dir)/$${f}c"; \
rm -f $(@NDIR@dir)/$$f $(DESTDIR)$(@NDIR@dir)/$${f}c; \
done