Enable silent build rules by default. You can still use verbose build rules by using any of the following methods: * run `configure` with the `--disable-silent-rules` argument * run `make` with the `V=1` argument This hides the compiler command line which makes debugging users' problems more difficult. To compensate for that, this prints the build flags separately, but a lot less frequently: For each part of the build (`libgphoto2_port.la`, iolibs, `libgphoto2.la`, camlibs), if something of that part has been rebuilt, prints the build flags (_CPPFLAGS, _CFLAGS, _LIBADD, _LDFLAGS) once. Always prints the environment variables CPPFLAGS CFLAGS LDADD LIBADD LDFLAGS once, whether they are the defaults the configure script sets or given on the `make` command line. Not all make recipes have been converted to be completely silent, but the majority (especially the Automake standard recipes) are now silent.
226 lines
7.6 KiB
Makefile
226 lines
7.6 KiB
Makefile
########################################################################
|
|
# Usage instructions
|
|
########################################################################
|
|
# If you only want to build a single camlib (say agfa_cl20), run
|
|
# gmake -C camlibs agfa_cl20.la
|
|
# or
|
|
# ( cd camlibs && make agfa_cl20.la )
|
|
#
|
|
# If you only want to build/install a single camlib or two, run
|
|
# make GP_CAMLIB_SET="canon.la agfa_cl20.la" install
|
|
# in the camlibs/ subdir or in the libgphoto2 top-level directory.
|
|
########################################################################
|
|
|
|
|
|
########################################################################
|
|
# The only SUBDIRS here are "." (to run all-local checking the
|
|
# definition of the camlibs) and the special ones for building docs
|
|
# and stuff.
|
|
#
|
|
# Building the camlibs itself is defined in the Makefile-files
|
|
# included below.
|
|
SUBDIRS = .
|
|
|
|
|
|
########################################################################
|
|
# Define the common variables added to in the included Makefile-files
|
|
CLEANFILES =
|
|
EXTRA_DIST =
|
|
camlibdoc_DATA =
|
|
localization_DATA =
|
|
localizationdir =
|
|
noinst_DATA =
|
|
noinst_LTLIBRARIES =
|
|
EXTRA_LTLIBRARIES =
|
|
|
|
|
|
########################################################################
|
|
# We pass the list of camlibs through this set of variables in order
|
|
# to remain compatible with older calling conventions.
|
|
|
|
# Actually implement BUILD_THESE_CAMLIBS as documented
|
|
BUILD_THESE_CAMLIBS = $(GP_CAMLIB_SET)
|
|
|
|
# while keeping compatibility with the variable which has been working
|
|
# for so long
|
|
INSTALL_THESE_CAMLIBS = $(BUILD_THESE_CAMLIBS)
|
|
|
|
|
|
########################################################################
|
|
# All camlibs are defined as EXTRA_LTLIBRARIES. This requires that
|
|
# all camlibs have -rpath set explicitly in foobar_la_LDFLAGS.
|
|
# You're probably best off by using the camlib_* variables defined
|
|
# below.
|
|
camlib_LTLIBRARIES = $(INSTALL_THESE_CAMLIBS)
|
|
|
|
|
|
########################################################################
|
|
# Define the compile/link/etc. flags common to all camlibs in one place,
|
|
# i.e. here.
|
|
|
|
camlib_dependencies =
|
|
|
|
camlib_ldflags =
|
|
camlib_ldflags += -module
|
|
camlib_ldflags += -no-undefined
|
|
camlib_ldflags += -avoid-version
|
|
camlib_ldflags += -export-dynamic
|
|
|
|
EXTRA_DIST += camlib.sym
|
|
camlib_dependencies += $(top_srcdir)/camlibs/camlib.sym
|
|
camlib_ldflags += -export-symbols '$(top_srcdir)/camlibs/camlib.sym'
|
|
|
|
camlib_ldflags += -rpath '$(camlibdir)'
|
|
|
|
camlib_libadd =
|
|
camlib_libadd += $(top_builddir)/libgphoto2/libgphoto2.la
|
|
camlib_libadd += $(top_builddir)/libgphoto2_port/libgphoto2_port/libgphoto2_port.la
|
|
|
|
camlib_cflags =
|
|
|
|
camlib_cppflags =
|
|
camlib_cppflags += $(AM_CPPFLAGS)
|
|
camlib_cppflags += -I$(top_srcdir)
|
|
camlib_cppflags += -I$(top_builddir)
|
|
camlib_cppflags += -I$(top_srcdir)/libgphoto2_port
|
|
|
|
|
|
########################################################################
|
|
# You can generate this Makefile-files include list by running
|
|
# find . -name Makefile-files -exec echo include {} \; | sort | sed 's| ./| |g'
|
|
include adc65/Makefile-files
|
|
include agfa-cl20/Makefile-files
|
|
include aox/Makefile-files
|
|
include ax203/Makefile-files
|
|
include barbie/Makefile-files
|
|
include canon/Makefile-files
|
|
include casio/Makefile-files
|
|
include clicksmart310/Makefile-files
|
|
include digigr8/Makefile-files
|
|
include digita/Makefile-files
|
|
include dimera/Makefile-files
|
|
include directory/Makefile-files
|
|
include docupen/Makefile-files
|
|
include enigma13/Makefile-files
|
|
include fuji/Makefile-files
|
|
include gsmart300/Makefile-files
|
|
include hp215/Makefile-files
|
|
include iclick/Makefile-files
|
|
include jamcam/Makefile-files
|
|
include jd11/Makefile-files
|
|
include jl2005a/Makefile-files
|
|
include jl2005c/Makefile-files
|
|
include kodak/dc120/Makefile-files
|
|
include kodak/dc210/Makefile-files
|
|
include kodak/dc240/Makefile-files
|
|
include kodak/dc3200/Makefile-files
|
|
include kodak/ez200/Makefile-files
|
|
include kodak/Makefile-files
|
|
include konica/Makefile-files
|
|
include largan/lmini/Makefile-files
|
|
include lg_gsm/Makefile-files
|
|
include lumix/Makefile-files
|
|
include mars/Makefile-files
|
|
include minolta/dimagev/Makefile-files
|
|
include minolta/Makefile-files
|
|
include mustek/Makefile-files
|
|
include panasonic/coolshot/Makefile-files
|
|
include panasonic/l859/Makefile-files
|
|
include panasonic/Makefile-files
|
|
include pccam300/Makefile-files
|
|
include pccam600/Makefile-files
|
|
include pentax/Makefile-files
|
|
include polaroid/Makefile-files
|
|
include ptp2/Makefile-files
|
|
include quicktake1x0/Makefile-files
|
|
include ricoh/Makefile-files
|
|
include samsung/Makefile-files
|
|
include sierra/Makefile-files
|
|
include sipix/Makefile-files
|
|
include smal/Makefile-files
|
|
include sonix/Makefile-files
|
|
include sonydscf1/Makefile-files
|
|
include sonydscf55/Makefile-files
|
|
include soundvision/Makefile-files
|
|
include spca50x/Makefile-files
|
|
include sq905/Makefile-files
|
|
include st2205/Makefile-files
|
|
include stv0674/Makefile-files
|
|
include stv0680/Makefile-files
|
|
include sx330z/Makefile-files
|
|
include template/Makefile-files
|
|
include topfield/Makefile-files
|
|
include toshiba/pdrm11/Makefile-files
|
|
include tp6801/Makefile-files
|
|
# End of list of Makefile-files
|
|
|
|
|
|
########################################################################
|
|
# Print build flags for camlibs
|
|
|
|
CLEANFILES += camlib-buildflags.stamp
|
|
noinst_DATA += camlib-buildflags.stamp
|
|
camlib-buildflags.stamp: $(camlib_LTLIBRARIES)
|
|
@test -z "$(camlib_cflags)" || printf " %s %-8s %s\n" cam CFLAGS "$(camlib_cflags)"
|
|
@test -z "$(camlib_cppflags)" || printf " %s %-8s %s\n" cam CPPFLAGS "$(camlib_cppflags)"
|
|
@test -z "$(camlib_libadd)" || printf " %s %-8s %s\n" cam LIBADD "$(camlib_libadd)"
|
|
@test -z "$(camlib_ldflags)" || printf " %s %-8s %s\n" cam LDFLAGS "$(camlib_ldflags)"
|
|
@date > $@
|
|
|
|
|
|
########################################################################
|
|
# Print list of GP_CAMLIB() definitions suitable for adding to
|
|
# configure.ac
|
|
print-camlibs: Makefile
|
|
@for x in $(EXTRA_LTLIBRARIES); do \
|
|
y="$$(basename "$$x" ".la")"; \
|
|
echo "GP_CAMLIB([$$y])dnl"; \
|
|
done
|
|
|
|
|
|
########################################################################
|
|
# Make sure that the list of camlibs defined in configure.ac using
|
|
# GP_CAMLIB(...) and the list of camlibs defined in */Makefile-files
|
|
# match.
|
|
|
|
# List all camlibs defined in configure.ac
|
|
CLEANFILES += all-cfg-camlibs
|
|
all-cfg-camlibs: Makefile
|
|
@(for x in $(GP_CAMLIB_SET_EVERYTHING); do echo "$$x"; done) \
|
|
| LC_ALL=C $(SORT) > all-cfg-camlibs
|
|
|
|
# List all camlibs defined in the camlibs/ source subtree Makefile-files
|
|
CLEANFILES += all-mkf-camlibs
|
|
all-mkf-camlibs: Makefile
|
|
@(for x in $(EXTRA_LTLIBRARIES) $(noinst_LTLIBRARIES); do echo "$$(basename "$$x" ".la")"; done) \
|
|
| LC_ALL=C $(SORT) > all-mkf-camlibs
|
|
|
|
.PHONY: all-local
|
|
all-local: all-cfg-camlibs all-mkf-camlibs
|
|
@if $(CMP) all-cfg-camlibs all-mkf-camlibs > /dev/null 2>&1; then :; else \
|
|
echo "#"; \
|
|
for camlib in $$($(COMM) -23 all-cfg-camlibs all-mkf-camlibs); do \
|
|
echo "# - '$${camlib}' camlib in 'configure.ac', but not in Makefiles."; \
|
|
done; \
|
|
for camlib in $$($(COMM) -13 all-cfg-camlibs all-mkf-camlibs); do \
|
|
echo "# - '$${camlib}' camlib in Makefiles, but not in 'configure.ac'"; \
|
|
done; \
|
|
echo "#"; \
|
|
echo "# The camlib set definitions in 'configure.ac' and Makefiles are inconsistent"; \
|
|
echo "# Have a developer sync them, maybe using \"make -C camlibs print-camlibs\"."; \
|
|
echo "#"; \
|
|
exit 1; \
|
|
fi
|
|
|
|
|
|
########################################################################
|
|
# Shortcut for installation of a subset of camlibs
|
|
# Usage: make CAMLIBS="canon.la ptp2.la" install-camlibs
|
|
|
|
install-camlibs: $(GP_CAMLIB_SET)
|
|
$(MAKE) $(AM_MAKEFLAGS) GP_CAMLIB_SET="$(GP_CAMLIB_SET)" install-camlibLTLIBRARIES
|
|
|
|
|
|
########################################################################
|
|
# End of camlibs/Makefile.am
|