[PATCH RESEND synaptics 1/2] Revert "build: collapse all Makefile.am files into a single non-recursive one."

Gaetan Nadon memsize at videotron.ca
Tue Jun 28 08:19:40 PDT 2011


This reverts commit 39afe69ad7d2258d4043044d1283bd6e311e48da.

Conflicts:

	.gitignore
	Makefile.am

This patch is to review "non-recursive make" commit 39afe69ad7.
This will formalize the review being held on xorg-devel list.

http://lists.x.org/archives/xorg-devel/2011-June/023321.html
http://lists.x.org/archives/xorg-devel/2011-June/023233.html

There are a couple of minor code changes unrelated to makefile recursiveness
which can be resubmitted should the revert be accepted:
  @DRIVER_NAME at _drv_ladir = @inputdir@ to
    input_LTLIBRARIES = @DRIVER_NAME at _drv.la
  noinst_PROGRAMS to check_PROGRAMS

Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
---
 .gitignore          |    4 --
 Makefile.am         |   96 ++-------------------------------------------------
 conf/Makefile.am    |   27 ++++++++++++++
 configure.ac        |    6 +++
 include/Makefile.am |   21 +++++++++++
 man/Makefile.am     |   47 +++++++++++++++++++++++++
 src/Makefile.am     |   52 +++++++++++++++++++++++++++
 test/.gitignore     |    6 +++
 test/Makefile.am    |   15 ++++++++
 tools/.gitignore    |    3 ++
 tools/Makefile.am   |   31 ++++++++++++++++
 11 files changed, 211 insertions(+), 97 deletions(-)
 create mode 100644 conf/Makefile.am
 create mode 100644 include/Makefile.am
 create mode 100644 man/Makefile.am
 create mode 100644 src/Makefile.am
 create mode 100644 test/.gitignore
 create mode 100644 test/Makefile.am
 create mode 100644 tools/.gitignore
 create mode 100644 tools/Makefile.am

diff --git a/.gitignore b/.gitignore
index 39e3f35..c496323 100644
--- a/.gitignore
+++ b/.gitignore
@@ -76,7 +76,3 @@ core
 #		Edit the following section as needed
 # For example, !report.pc overrides *.pc. See 'man gitignore'
 # 
-eventcomm-test
-synclient
-syndaemon
-.dirstamp
\ No newline at end of file
diff --git a/Makefile.am b/Makefile.am
index e94fe19..256c738 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -18,6 +18,8 @@
 #  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 #  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
+SUBDIRS = include src man tools conf test
+
 # During distcheck, system locations (as provided by pkg-config) are
 # not writable; provide instead relative locations.
 DISTCHECK_CONFIGURE_FLAGS = \
@@ -29,99 +31,7 @@ MAINTAINERCLEANFILES = ChangeLog INSTALL
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = xorg-synaptics.pc
 
-sdk_HEADERS = include/synaptics.h include/synaptics-properties.h
-
-input_LTLIBRARIES = @DRIVER_NAME at _drv.la
-
-# -module lets us name the module exactly how we want
-# -avoid-version prevents gratuitous .0.0.0 version numbers on the end
-# -shared avoid building the static archive
- at DRIVER_NAME@_drv_la_LDFLAGS = -module -avoid-version -shared
- at DRIVER_NAME@_drv_la_CPPFLAGS = -I$(top_srcdir)/include
- at DRIVER_NAME@_drv_la_CFLAGS = $(XORG_CFLAGS)
-
- at DRIVER_NAME@_drv_la_SOURCES = src/@DRIVER_NAME at .c src/synapticsstr.h \
-	src/synproto.h \
-	src/properties.c
-
-if BUILD_PS2COMM
- at DRIVER_NAME@_drv_la_SOURCES += \
-	src/alpscomm.c \
-	src/ps2comm.c src/ps2comm.h
-endif
-
-if BUILD_EVENTCOMM
- at DRIVER_NAME@_drv_la_SOURCES += \
-	src/eventcomm.c src/eventcomm.h
-endif
-
-if BUILD_PSMCOMM
- at DRIVER_NAME@_drv_la_SOURCES += \
-	src/psmcomm.c
-endif
-
-bin_PROGRAMS = synclient syndaemon
-
-synclient_SOURCES = tools/synclient.c
-synclient_CFLAGS = -I$(top_srcdir)/include $(XORG_CFLAGS) $(XI_CFLAGS)
-synclient_LDADD = $(XI_LIBS)
-
-syndaemon_SOURCES = tools/syndaemon.c
-syndaemon_CFLAGS = -I$(top_srcdir)/include $(XORG_CFLAGS) $(XI_CFLAGS) $(XTST_CFLAGS)
-syndaemon_LDADD = $(XI_LIBS) $(XTST_LIBS)
-
-if HAS_XORG_CONF_DIR
-dist_config_DATA = conf/50-synaptics.conf
-else
-fdidir = $(datadir)/hal/fdi/policy/20thirdparty
-dist_fdi_DATA = conf/11-x11-synaptics.fdi
-endif
-
-if ENABLE_UNIT_TESTS
-if BUILD_EVENTCOMM
-check_PROGRAMS = eventcomm-test
-
-eventcomm_test_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/include
-eventcomm_test_CFLAGS = $(XORG_CFLAGS) $(CWARNFLAGS)
-eventcomm_test_SOURCES = test/eventcomm-test.c\
-			 src/eventcomm.c \
-			 test/fake-symbols.c test/fake-symbols.h
-
-TESTS = $(check_PROGRAMS)
-endif
-endif
-
-synclientmandir = $(APP_MAN_DIR)
-synclientman_PRE = man/synclient.man
-synclientman_DATA = $(synclientman_PRE:man=@APP_MAN_SUFFIX@)
-
-syndaemonmandir = $(APP_MAN_DIR)
-syndaemonman_PRE = man/syndaemon.man
-syndaemonman_DATA = $(syndaemonman_PRE:man=@APP_MAN_SUFFIX@)
-
-drivermandir = $(DRIVER_MAN_DIR)
-driverman_PRE = man/@DRIVER_NAME at .man
-driverman_DATA = $(driverman_PRE:man=@DRIVER_MAN_SUFFIX@)
-
-EXTRA_DIST = man/@DRIVER_NAME at .man man/synclient.man man/syndaemon.man
-
-CLEANFILES = $(driverman_DATA) $(synclientman_DATA) $(syndaemonman_DATA)
-
-SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man
-
-.PHONY: ChangeLog INSTALL mandir
-
-mandir:
-	$(MKDIR_P) man
-
-# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
-.man.$(DRIVER_MAN_SUFFIX):
-	@$(MKDIR_P) man
-	$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
-
-.man.$(APP_MAN_SUFFIX):
-	@$(MKDIR_P) man
-	$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
+.PHONY: ChangeLog INSTALL
 
 INSTALL:
 	$(INSTALL_CMD)
diff --git a/conf/Makefile.am b/conf/Makefile.am
new file mode 100644
index 0000000..38d2a01
--- /dev/null
+++ b/conf/Makefile.am
@@ -0,0 +1,27 @@
+#  Copyright 2005 Adam Jackson.
+#
+#  Permission is hereby granted, free of charge, to any person obtaining a
+#  copy of this software and associated documentation files (the "Software"),
+#  to deal in the Software without restriction, including without limitation
+#  on the rights to use, copy, modify, merge, publish, distribute, sub
+#  license, and/or sell copies of the Software, and to permit persons to whom
+#  the Software is furnished to do so, subject to the following conditions:
+#
+#  The above copyright notice and this permission notice (including the next
+#  paragraph) shall be included in all copies or substantial portions of the
+#  Software.
+#
+#  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+#  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+#  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+#  ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+#  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+#  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+if HAS_XORG_CONF_DIR
+dist_config_DATA = 50-synaptics.conf
+else
+fdidir = $(datadir)/hal/fdi/policy/20thirdparty
+dist_fdi_DATA = 11-x11-synaptics.fdi
+endif
diff --git a/configure.ac b/configure.ac
index bf99958..0878287 100644
--- a/configure.ac
+++ b/configure.ac
@@ -152,6 +152,12 @@ AC_ARG_WITH([sdkdir], [], [sdkdir="$withval"])
 AC_SUBST([sdkdir])
 
 AC_CONFIG_FILES([Makefile
+                src/Makefile
+                man/Makefile
+                tools/Makefile
+                conf/Makefile
+                include/Makefile
+                test/Makefile
                 xorg-synaptics.pc])
 AC_OUTPUT
 
diff --git a/include/Makefile.am b/include/Makefile.am
new file mode 100644
index 0000000..f078e5e
--- /dev/null
+++ b/include/Makefile.am
@@ -0,0 +1,21 @@
+#  Copyright 2005 Adam Jackson.
+#
+#  Permission is hereby granted, free of charge, to any person obtaining a
+#  copy of this software and associated documentation files (the "Software"),
+#  to deal in the Software without restriction, including without limitation
+#  on the rights to use, copy, modify, merge, publish, distribute, sub
+#  license, and/or sell copies of the Software, and to permit persons to whom
+#  the Software is furnished to do so, subject to the following conditions:
+#
+#  The above copyright notice and this permission notice (including the next
+#  paragraph) shall be included in all copies or substantial portions of the
+#  Software.
+#
+#  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+#  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+#  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+#  ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+#  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+#  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+sdk_HEADERS = synaptics.h synaptics-properties.h
diff --git a/man/Makefile.am b/man/Makefile.am
new file mode 100644
index 0000000..8d56fe0
--- /dev/null
+++ b/man/Makefile.am
@@ -0,0 +1,47 @@
+# $Id$
+#
+# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+#
+
+synclientmandir = $(APP_MAN_DIR)
+synclientman_PRE = synclient.man
+synclientman_DATA = $(synclientman_PRE:man=@APP_MAN_SUFFIX@)
+
+syndaemonmandir = $(APP_MAN_DIR)
+syndaemonman_PRE = syndaemon.man
+syndaemonman_DATA =$(syndaemonman_PRE:man=@APP_MAN_SUFFIX@)
+
+drivermandir = $(DRIVER_MAN_DIR)
+driverman_PRE = @DRIVER_NAME at .man
+driverman_DATA = $(driverman_PRE:man=@DRIVER_MAN_SUFFIX@)
+
+EXTRA_DIST = @DRIVER_NAME at .man synclient.man syndaemon.man
+
+CLEANFILES = $(driverman_DATA) $(synclientman_DATA) $(syndaemonman_DATA)
+
+SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man
+
+# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
+.man.$(DRIVER_MAN_SUFFIX):
+	$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
+.man.$(APP_MAN_SUFFIX):
+	$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644
index 0000000..5e04670
--- /dev/null
+++ b/src/Makefile.am
@@ -0,0 +1,52 @@
+#  Copyright 2005 Adam Jackson.
+#
+#  Permission is hereby granted, free of charge, to any person obtaining a
+#  copy of this software and associated documentation files (the "Software"),
+#  to deal in the Software without restriction, including without limitation
+#  on the rights to use, copy, modify, merge, publish, distribute, sub
+#  license, and/or sell copies of the Software, and to permit persons to whom
+#  the Software is furnished to do so, subject to the following conditions:
+#
+#  The above copyright notice and this permission notice (including the next
+#  paragraph) shall be included in all copies or substantial portions of the
+#  Software.
+#
+#  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+#  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+#  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+#  ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+#  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+#  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+# this is obnoxious:
+# -module lets us name the module exactly how we want
+# -avoid-version prevents gratuitous .0.0.0 version numbers on the end
+# _ladir passes a dummy rpath to libtool so the thing will actually link
+# TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc.
+ at DRIVER_NAME@_drv_la_LTLIBRARIES = @DRIVER_NAME at _drv.la
+ at DRIVER_NAME@_drv_la_LDFLAGS = -module -avoid-version
+ at DRIVER_NAME@_drv_ladir = @inputdir@
+
+AM_CPPFLAGS = -I$(top_srcdir)/include
+AM_CFLAGS = $(XORG_CFLAGS)
+
+ at DRIVER_NAME@_drv_la_SOURCES = @DRIVER_NAME at .c synapticsstr.h \
+	synproto.h \
+	properties.c
+
+if BUILD_PS2COMM
+ at DRIVER_NAME@_drv_la_SOURCES += \
+	alpscomm.c \
+	ps2comm.c ps2comm.h
+endif
+
+if BUILD_EVENTCOMM
+ at DRIVER_NAME@_drv_la_SOURCES += \
+	eventcomm.c eventcomm.h
+endif
+
+if BUILD_PSMCOMM
+ at DRIVER_NAME@_drv_la_SOURCES += \
+	psmcomm.c
+endif
diff --git a/test/.gitignore b/test/.gitignore
new file mode 100644
index 0000000..a59f751
--- /dev/null
+++ b/test/.gitignore
@@ -0,0 +1,6 @@
+#		Add & Override patterns for xf86-input-synaptics
+#
+#		Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+
+eventcomm-test
diff --git a/test/Makefile.am b/test/Makefile.am
new file mode 100644
index 0000000..5dd8cdb
--- /dev/null
+++ b/test/Makefile.am
@@ -0,0 +1,15 @@
+if ENABLE_UNIT_TESTS
+AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/include
+AM_CFLAGS = $(XORG_CFLAGS) $(CWARNFLAGS)
+fake_syms = fake-symbols.c fake-symbols.h
+
+if BUILD_EVENTCOMM
+noinst_PROGRAMS = eventcomm-test
+
+eventcomm_test_SOURCES = eventcomm-test.c\
+			 $(top_srcdir)/src/eventcomm.c \
+			 $(fake_syms)
+endif
+
+TESTS = $(noinst_PROGRAMS)
+endif
diff --git a/tools/.gitignore b/tools/.gitignore
new file mode 100644
index 0000000..f3b80fc
--- /dev/null
+++ b/tools/.gitignore
@@ -0,0 +1,3 @@
+#		Add & Override for this directory and it's subdirectories
+synclient
+syndaemon
diff --git a/tools/Makefile.am b/tools/Makefile.am
new file mode 100644
index 0000000..c74a5e3
--- /dev/null
+++ b/tools/Makefile.am
@@ -0,0 +1,31 @@
+#  Copyright 2008 Red Hat, Inc.
+#
+#  Permission is hereby granted, free of charge, to any person obtaining a
+#  copy of this software and associated documentation files (the "Software"),
+#  to deal in the Software without restriction, including without limitation
+#  on the rights to use, copy, modify, merge, publish, distribute, sub
+#  license, and/or sell copies of the Software, and to permit persons to whom
+#  the Software is furnished to do so, subject to the following conditions:
+#
+#  The above copyright notice and this permission notice (including the next
+#  paragraph) shall be included in all copies or substantial portions of the
+#  Software.
+#
+#  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+#  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+#  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+#  ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+#  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+#  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+bin_PROGRAMS = synclient syndaemon
+
+AM_CPPFLAGS = -I$(top_srcdir)/include $(XORG_CFLAGS)
+
+synclient_SOURCES = synclient.c
+synclient_CFLAGS = $(XI_CFLAGS)
+synclient_LDADD = $(XI_LIBS)
+
+syndaemon_SOURCES = syndaemon.c
+syndaemon_CFLAGS = $(XI_CFLAGS) $(XTST_CFLAGS)
+syndaemon_LDADD = $(XI_LIBS) $(XTST_LIBS)
-- 
1.7.4.1



More information about the xorg-devel mailing list