[nagiosplug] build: fix building with parallel make.

Nagios Plugin Development nagios-plugins at users.sourceforge.net
Sun May 12 14:30:38 CEST 2013


    Module: nagiosplug
    Branch: master
    Commit: eeca6e0f05ce59361e6084deab6117c240520cdb
    Author: Diego Elio Pettenò <flameeyes at flameeyes.eu>
 Committer: Holger Weiss <holger at zedat.fu-berlin.de>
      Date: Fri Aug 17 19:14:36 2012 -0700
       URL: http://nagiosplug.git.sf.net/git/gitweb.cgi?p=nagiosplug/nagiosplug;a=commit;h=eeca6e0

build: fix building with parallel make.

By using a more automake-style handling of dependencies and a single
convenience library, it's tremendously easy to build in parallel.

Note that since the linking happens with the static archives, the
unused objects are discarded and provide no overhead whatsoever.

---

 plugins/Makefile.am |   95 +++++++++++++--------------------------------------
 1 files changed, 24 insertions(+), 71 deletions(-)

diff --git a/plugins/Makefile.am b/plugins/Makefile.am
index 0eb0255..64969db 100644
--- a/plugins/Makefile.am
+++ b/plugins/Makefile.am
@@ -39,15 +39,19 @@ EXTRA_PROGRAMS = check_mysql check_radius check_pgsql check_snmp check_hpjd \
 	check_nagios check_by_ssh check_dns check_nt check_ide_smart	\
 	check_procs check_mysql_query check_apt check_dbi
 
-EXTRA_DIST = t tests utils.c netutils.c sslutils.c popen.c utils.h netutils.h \
-	popen.h common.h runcmd.c runcmd.h
+EXTRA_DIST = t tests
 
 PLUGINHDRS = common.h
 
-BASEOBJS = utils.o ../lib/libnagiosplug.a ../gl/libgnu.a
-NETOBJS = netutils.o $(BASEOBJS) $(EXTRA_NETOBJS)
-SSLOBJS = sslutils.o
+noinst_LIBRARIES = libnpcommon.a
+
+libnpcommon_a_SOURCES = utils.c netutils.c sslutils.c runcmd.c	\
+	popen.c utils.h netutils.h popen.h common.h runcmd.c runcmd.h
+
+BASEOBJS = libnpcommon.a ../lib/libnagiosplug.a ../gl/libgnu.a
+NETOBJS = $(BASEOBJS) $(EXTRA_NETOBLS)
 NETLIBS = $(NETOBJS) $(SOCKETLIBS)
+SSLOBJS = $(BASEOBJS) $(NETLIBS) $(SSLLIBS)
 
 TESTS_ENVIRONMENT = perl -I $(top_builddir) -I $(top_srcdir)
 
@@ -62,19 +66,19 @@ test-debug:
 ##############################################################################
 # the actual targets
 
-check_apt_LDADD = $(BASEOBJS) runcmd.o
+check_apt_LDADD = $(BASEOBJS)
 check_cluster_LDADD = $(BASEOBJS)
 check_dbi_LDADD = $(NETLIBS) $(DBILIBS)
-check_dig_LDADD = $(NETLIBS) runcmd.o 
-check_disk_LDADD = $(BASEOBJS) popen.o
-check_dns_LDADD = $(NETLIBS) runcmd.o
+check_dig_LDADD = $(NETLIBS)
+check_disk_LDADD = $(BASEOBJS)
+check_dns_LDADD = $(NETLIBS)
 check_dummy_LDADD = $(BASEOBJS)
-check_fping_LDADD = $(NETLIBS) popen.o
-check_game_LDADD = $(BASEOBJS) runcmd.o
-check_http_LDADD = $(SSLOBJS) $(NETLIBS) $(SSLLIBS)
-check_hpjd_LDADD = $(NETLIBS) popen.o
+check_fping_LDADD = $(NETLIBS)
+check_game_LDADD = $(BASEOBJS)
+check_http_LDADD = $(SSLOBJS)
+check_hpjd_LDADD = $(NETLIBS)
 check_ldap_LDADD = $(NETLIBS) $(LDAPLIBS)
-check_load_LDADD = $(BASEOBJS) popen.o
+check_load_LDADD = $(BASEOBJS)
 check_mrtg_LDADD = $(BASEOBJS)
 check_mrtgtraf_LDADD = $(BASEOBJS)
 check_mysql_CFLAGS = $(MYSQLCFLAGS) -DNP_VERSION='"$(NP_VERSION)"'
@@ -83,22 +87,22 @@ check_mysql_LDADD = $(NETLIBS) $(MYSQLLIBS)
 check_mysql_query_CFLAGS = $(MYSQLCFLAGS) -DNP_VERSION='"$(NP_VERSION)"'
 check_mysql_query_CPPFLAGS = $(MYSQLINCLUDE)
 check_mysql_query_LDADD = $(NETLIBS) $(MYSQLLIBS)
-check_nagios_LDADD = $(BASEOBJS) runcmd.o
+check_nagios_LDADD = $(BASEOBJS)
 check_nt_LDADD = $(NETLIBS) 
 check_ntp_LDADD = $(NETLIBS) $(MATHLIBS)
 check_ntp_peer_LDADD = $(NETLIBS) $(MATHLIBS)
 check_nwstat_LDADD = $(NETLIBS)
 check_overcr_LDADD = $(NETLIBS)
 check_pgsql_LDADD = $(NETLIBS) $(PGLIBS)
-check_ping_LDADD = $(NETLIBS) popen.o
+check_ping_LDADD = $(NETLIBS)
 check_procs_LDADD = $(BASEOBJS)
 check_radius_LDADD = $(NETLIBS) $(RADIUSLIBS)
 check_real_LDADD = $(NETLIBS)
 check_snmp_LDADD = $(BASEOBJS)
-check_smtp_LDADD = $(SSLOBJS) $(NETLIBS) $(SSLLIBS)
+check_smtp_LDADD = $(SSLOBJS)
 check_ssh_LDADD = $(NETLIBS)
-check_swap_LDADD = $(MATHLIBS) $(BASEOBJS) popen.o
-check_tcp_LDADD = $(SSLOBJS) $(NETLIBS) $(SSLLIBS)
+check_swap_LDADD = $(MATHLIBS) $(BASEOBJS)
+check_tcp_LDADD = $(SSLOBJS)
 check_time_LDADD = $(NETLIBS)
 check_ntp_time_LDADD = $(NETLIBS) $(MATHLIBS)
 check_ups_LDADD = $(NETLIBS)
@@ -106,62 +110,11 @@ check_users_LDADD = $(BASEOBJS)
 check_by_ssh_LDADD = $(NETLIBS)
 check_ide_smart_LDADD = $(BASEOBJS)
 negate_LDADD = $(BASEOBJS)
-urlize_LDADD = $(BASEOBJS) popen.o
-
-check_apt_DEPENDENCIES = check_apt.c $(BASEOBJS) runcmd.o $(DEPLIBS)
-check_cluster_DEPENDENCIES = check_cluster.c $(BASEOBJS) $(DEPLIBS)
-check_dbi_DEPENDENCIES = check_dbi.c $(NETOBJS) $(DEPLIBS)
-check_dig_DEPENDENCIES = check_dig.c $(NETOBJS) runcmd.o $(DEPLIBS)
-check_disk_DEPENDENCIES = check_disk.c $(BASEOBJS) popen.o $(DEPLIBS) 
-check_dns_DEPENDENCIES = check_dns.c $(NETOBJS) runcmd.o $(DEPLIBS)
-check_dummy_DEPENDENCIES = check_dummy.c $(DEPLIBS)
-check_fping_DEPENDENCIES = check_fping.c $(NETOBJS) popen.o $(DEPLIBS)
-check_game_DEPENDENCIES = check_game.c  $(DEPLIBS) runcmd.o
-check_http_DEPENDENCIES = check_http.c $(SSLOBJS) $(NETOBJS) $(DEPLIBS)
-check_hpjd_DEPENDENCIES = check_hpjd.c $(NETOBJS) popen.o $(DEPLIBS)
-check_ide_smart_DEPENDENCIES = check_ide_smart.c $(BASEOBJS) $(DEPLIBS)
-check_ldap_DEPENDENCIES = check_ldap.c $(NETOBJS) $(DEPLIBS)
-check_load_DEPENDENCIES = check_load.c $(BASEOBJS) popen.o $(DEPLIBS)
-check_mrtg_DEPENDENCIES = check_mrtg.c $(DEPLIBS)
-check_mrtgtraf_DEPENDENCIES = check_mrtgtraf.c $(DEPLIBS)
-check_mysql_DEPENDENCIES = check_mysql.c $(NETOBJS) $(DEPLIBS)
-check_mysql_query_DEPENDENCIES = check_mysql_query.c $(NETOBJS) $(DEPLIBS)
-check_nagios_DEPENDENCIES = check_nagios.c $(BASEOBJS) runcmd.o $(DEPLIBS)
-check_nt_DEPENDENCIES = check_nt.c $(NETOBJS) $(DEPLIBS)
-check_ntp_DEPENDENCIES = check_ntp.c $(NETOBJS) $(DEPLIBS)
-check_ntp_peer_DEPENDENCIES = check_ntp_peer.c $(NETOBJS) $(DEPLIBS)
-check_nwstat_DEPENDENCIES = check_nwstat.c $(NETOBJS) $(DEPLIBS)
-check_overcr_DEPENDENCIES = check_overcr.c $(NETOBJS) $(DEPLIBS)
-check_pgsql_DEPENDENCIES = check_pgsql.c $(NETOBJS)  $(DEPLIBS)
-check_ping_DEPENDENCIES = check_ping.c $(NETOBJS) popen.o $(DEPLIBS)
-check_procs_DEPENDENCIES = check_procs.c $(BASEOBJS) popen.o $(DEPLIBS)
-check_radius_DEPENDENCIES = check_radius.c $(NETOBJS)  $(DEPLIBS)
-check_real_DEPENDENCIES = check_real.c $(NETOBJS) $(DEPLIBS)
-check_snmp_DEPENDENCIES = check_snmp.c $(BASEOBJS) $(DEPLIBS)
-check_smtp_DEPENDENCIES = check_smtp.c $(SSLOBJS) $(NETOBJS) $(DEPLIBS)
-check_ssh_DEPENDENCIES = check_ssh.c $(NETOBJS) $(DEPLIBS)
-check_swap_DEPENDENCIES = check_swap.c $(BASEOBJS) popen.o $(DEPLIBS)
-check_tcp_DEPENDENCIES = check_tcp.c $(SSLOBJS) $(NETOBJS) $(DEPLIBS)
-check_time_DEPENDENCIES = check_time.c $(NETOBJS) $(DEPLIBS)
-check_ntp_time_DEPENDENCIES = check_ntp_time.c $(NETOBJS) $(DEPLIBS)
-check_ups_DEPENDENCIES = check_ups.c $(NETOBJS) $(DEPLIBS)
-check_users_DEPENDENCIES = check_users.c $(BASEOBJS) popen.o $(DEPLIBS)
-check_by_ssh_DEPENDENCIES = check_by_ssh.c $(NETOBJS) $(DEPLIBS)
-negate_DEPENDENCIES = negate.c $(BASEOBJS) $(DEPLIBS)
-urlize_DEPENDENCIES = urlize.c $(BASEOBJS) popen.o $(DEPLIBS)
+urlize_LDADD = $(BASEOBJS)
 
 ##############################################################################
 # secondary dependencies
 
-popen.o: popen.c popen.h $(PLUGINHDRS)
-
-runcmd.o: runcmd.c runcmd.h $(PLUGINHDRS)
-
-utils.o: utils.c utils.h $(PLUGINHDRS)
-
-netutils.o: netutils.c netutils.h $(PLUGINHDRS)
-sslutils.o: sslutils.c netutils.h $(PLUGINHDRS)
-
 all-local: $(check_tcp_programs)
 
 $(check_tcp_programs): check_tcp





More information about the Commits mailing list