[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
mkinstalldirs and conditional building/installation
From: |
Roger Leigh |
Subject: |
mkinstalldirs and conditional building/installation |
Date: |
Thu, 28 Feb 2002 23:38:11 +0000 |
User-agent: |
Mutt/1.3.27i |
In a Makefile.am, I have the following (summary):
pkglibdir = $(cups_conf_serverbin)
cupsexec_filterdir = $(pkglibdir)/filter
if BUILD_CUPS
cupsexec_filter_PROGRAMS = rastertoprinter commandtoepson commandtocanon
endif
Thus, if --with-cups is given to configure, AM_CONDITIONAL is used to
conditionally build some programs.
The generated rule for installation in Makefile.in is this:
install-cupsexec_filterPROGRAMS: $(cupsexec_filter_PROGRAMS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(cupsexec_filterdir)
@list='$(cupsexec_filter_PROGRAMS)'; for p in $$list; do \
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
if test -f $$p \
|| test -f $$p1 \
; then \
f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install
$(INSTALL_PROGRAM) $$p $(DESTDIR)$(cupsexec_filterdir)/$$f"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM)
$$p $(DESTDIR)$(cupsexec_filterdir)/$$f; \
else :; fi; \
done
The installation directory $(DESTDIR)$(cupsexec_filterdir) will be
created *whether or not any program is built*! This should be fairly
easy to correct:
$(mkinstalldirs) $(DESTDIR)$(cupsexec_filterdir)
becomes:
if test -n '$(cupsexec_filter_PROGRAMS)'; then \
$(mkinstalldirs) $(DESTDIR)$(cupsexec_filterdir) \
fi
In the gimp-print project, due to the nature of the package, just about
every part can be compiled conditionally, because you generally only
want a driver for one printing system. At the moment, every possible
installation directory is created, leaving unused empty directories
after installation.
I don't have a patch, but I can make one if you would like--do I just
need to update the .am files? Is automake CVS available anonymously?
Regards,
Roger
--
Roger Leigh
** Registration Number: 151826, http://counter.li.org **
Need Epson Stylus Utilities? http://gimp-print.sourceforge.net/
GPG Public Key: 0x25BFB848 available on public keyservers
- mkinstalldirs and conditional building/installation,
Roger Leigh <=