aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Diego Elio Pettenò <flameeyes@flameeyes.eu> 2012-08-17 19:14:36 -0700
committerGravatar Holger Weiss <holger@zedat.fu-berlin.de> 2013-05-12 14:15:13 +0200
commiteeca6e0f05ce59361e6084deab6117c240520cdb (patch)
tree8b10de98be8bb21ae36459ef9db2d526edfdd64f
parent332c6ef2c7480a23f3c2fa59f5cd2c88db8d9919 (diff)
downloadmonitoring-plugins-eeca6e0f05ce59361e6084deab6117c240520cdb.tar.gz
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.
-rw-r--r--plugins/Makefile.am95
1 files changed, 24 insertions, 71 deletions
diff --git a/plugins/Makefile.am b/plugins/Makefile.am
index 0eb0255b..64969dbf 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