]> granicus.if.org Git - cronie/commitdiff
build-sys: use none-recursive build
authorSami Kerola <kerolasa@iki.fi>
Sun, 31 Mar 2019 11:53:44 +0000 (12:53 +0100)
committerTomáš Mráz <t8m@users.noreply.github.com>
Mon, 8 Apr 2019 13:59:21 +0000 (15:59 +0200)
None-recursive builds are quicker, and less problematic from make(1) object
tracking point of view.  See reference for full explanation.

References: http://miller.emu.id.au/pmiller/books/rmch/
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
.gitignore
Makefile.am
anacron/Makemodule.am [moved from anacron/Makefile.am with 54% similarity]
configure.ac
man/Makefile.am [deleted file]
man/Makemodule.am [new file with mode: 0644]
src/Makemodule.am [moved from src/Makefile.am with 68% similarity]

index 16358774b5fb564701df6fd6e139e53dbdf0b48d..55f701be5f1ad714be5bd017fa153245898e0067 100644 (file)
@@ -1,7 +1,7 @@
 Makefile.in
 Makefile
 anacron/anacron
-anacron/anacron-paths.h
+anacron-paths.h
 anacron/Makefile
 anacron/Makefile.in
 aclocal.m4
@@ -26,8 +26,9 @@ tags
 src/crond
 src/crontab
 src/cronnext
-src/cron-paths.h
+cron-paths.h
 *~
 *.tar.*
 *.orig
 *.patch
+.dirstamp
index b0e04f224783d23e3f45e68f7b88b6b3abc6ac1a..b8d6ab36e0629924da1caec8cedd0c3a23fedead 100644 (file)
@@ -1,9 +1,16 @@
-SUBDIRS = src man anacron
+AM_CFLAGS = -I$(top_srcdir)
+
+BUILT_SOURCES =
+CLEANFILES =
+EXTRA_DIST =
+bin_PROGRAMS =
+common_nodist =
+sbin_PROGRAMS =
 
 dist_noinst_HEADERS = \
        cronie_common.h
 
-EXTRA_DIST = \
+EXTRA_DIST += \
        cronie.init \
        crond.sysconfig \
        contrib/anacrontab \
@@ -19,3 +26,7 @@ dist_pam_DATA = pam/crond
 else
 EXTRA_DIST += pam/crond
 endif
+
+include anacron/Makemodule.am
+include man/Makemodule.am
+include src/Makemodule.am
similarity index 54%
rename from anacron/Makefile.am
rename to anacron/Makemodule.am
index d8642d9207bacc22e1d95f502a2fbfab67cfe9b8..394640fa2496632af19efcc101af501837ed87f7 100644 (file)
@@ -1,23 +1,28 @@
 # Makefile.am - two binaries crond and crontab
 if ANACRON
-sbin_PROGRAMS = anacron
-endif
-
-anacron_SOURCES = \
-  gregor.c lock.c log.c main.c matchrx.c readtab.c runjob.c \
-  $(common_src)
-common_src = global.h gregor.h matchrx.h
-common_nodist = anacron-paths.h
-nodist_anacron_SOURCES = $(common_nodist)
-BUILT_SOURCES = $(common_nodist)
+sbin_PROGRAMS += anacron/anacron
+anacron_anacron_SOURCES = \
+       anacron-paths.h \
+       anacron/global.h \
+       anacron/gregor.c \
+       anacron/gregor.h \
+       anacron/lock.c \
+       anacron/log.c \
+       anacron/main.c \
+       anacron/matchrx.c \
+       anacron/matchrx.h \
+       anacron/readtab.c \
+       anacron/runjob.c
+common_nodist += anacron-paths.h
+nodist_anacron_anacron_SOURCES = $(common_nodist)
+BUILT_SOURCES += $(common_nodist)
 
-AM_CFLAGS = -I$(top_srcdir)
-
-LDADD = $(LIBSELINUX) $(LIBPAM) $(LIBAUDIT)
+anacron_anacron_LDADD = $(LIBSELINUX) $(LIBPAM) $(LIBAUDIT)
 
 # This header contains all the paths.
 # If they are configurable, they are declared in configure script.
 # Depends on this Makefile, because it uses make variables.
+CLEANFILES += anacron-paths.h
 anacron-paths.h: Makefile
        @echo 'creating $@'
        @sed >$@ 's/ *\\$$//' <<\END #\
@@ -29,3 +34,4 @@ anacron-paths.h: Makefile
        #define ANACRONTAB "$(ANACRONTAB)" \
        #endif /* _ANACRON_PATHS_H_ */ \
        END
+endif
index 7200b24befd8834436407ac0f729d02efe50dc92..763b5d535e41100a3ac5367f66a1f82a3a3c8202 100644 (file)
@@ -2,7 +2,7 @@ AC_INIT([cronie],[1.5.4],[mmaslano@redhat.com,tmraz@fedoraproject.org])
 AC_CONFIG_HEADER([config.h])
 AC_PREREQ(2.60)
 
-AM_INIT_AUTOMAKE
+AM_INIT_AUTOMAKE([subdir-objects])
 
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
                            [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
@@ -260,6 +260,6 @@ if test "$enable_anacron" != no; then
        ANACRON_CONF_VAR([ANACRONTAB],[The anacron table for regular jobs.],[${sysconfdir}/anacrontab])
 fi
 
-AC_CONFIG_FILES([Makefile src/Makefile man/Makefile anacron/Makefile])
+AC_CONFIG_FILES([Makefile])
 AC_OUTPUT
 
diff --git a/man/Makefile.am b/man/Makefile.am
deleted file mode 100644 (file)
index 965b8fd..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-dist_man_MANS = crontab.1 crontab.5 cron.8 crond.8 cronnext.1
-EXTRA_DIST = anacrontab.5 anacron.8
-
-if ANACRON
-dist_man_MANS += $(EXTRA_DIST)
-endif
diff --git a/man/Makemodule.am b/man/Makemodule.am
new file mode 100644 (file)
index 0000000..e6479f6
--- /dev/null
@@ -0,0 +1,16 @@
+dist_man_MANS = \
+       man/cron.8 \
+       man/crond.8 \
+       man/cronnext.1 \
+       man/crontab.1 \
+       man/crontab.5
+
+anacron_man = \
+       man/anacrontab.5 \
+       man/anacron.8
+
+EXTRA_DIST += $(anacron_man)
+
+if ANACRON
+dist_man_MANS += $(anacron_man)
+endif
similarity index 68%
rename from src/Makefile.am
rename to src/Makemodule.am
index e832f1267041209d34849a6108236a9a4cfcac2c..b531d25640318527e405fb6af2639cd911166955 100644 (file)
@@ -1,27 +1,55 @@
 # Makefile.am - two binaries crond and crontab
 
-sbin_PROGRAMS = crond
-bin_PROGRAMS = crontab cronnext
+sbin_PROGRAMS += \
+       src/crond
 
-crond_SOURCES = \
-       cron.c database.c user.c job.c do_command.c popen.c security.c \
+bin_PROGRAMS += \
+       src/cronnext \
+       src/crontab
+
+src_crond_SOURCES = \
+       src/cron.c \
+       src/database.c \
+       src/do_command.c \
+       src/job.c \
+       src/popen.c \
+       src/security.c \
+       src/user.c \
        $(common_src)
-crontab_SOURCES = crontab.c security.c $(common_src)
-cronnext_SOURCES = \
-       cronnext.c database.c user.c job.c \
+
+src_crontab_SOURCES = \
+       src/crontab.c \
+       src/security.c \
        $(common_src)
-common_src = entry.c env.c misc.c pw_dup.c \
-       externs.h funcs.h globals.h macros.h pathnames.h structs.h \
-       bitstring.h
-common_nodist = cron-paths.h
-nodist_crond_SOURCES = $(common_nodist)
-nodist_crontab_SOURCES = $(common_nodist)
-nodist_cronnext_SOURCES = $(common_nodist)
-BUILT_SOURCES = $(common_nodist)
 
-AM_CFLAGS = -I$(top_srcdir)
+src_cronnext_SOURCES = \
+       src/cronnext.c \
+       src/database.c \
+       src/job.c \
+       src/user.c \
+       $(common_src)
+
+common_src = \
+       src/bitstring.h \
+       src/entry.c \
+       src/env.c \
+       src/externs.h \
+       src/funcs.h \
+       src/globals.h \
+       src/macros.h \
+       src/misc.c \
+       src/pathnames.h \
+       src/pw_dup.c \
+       src/structs.h
+
+common_nodist += cron-paths.h
+nodist_src_crond_SOURCES = $(common_nodist)
+nodist_src_crontab_SOURCES = $(common_nodist)
+nodist_src_cronnext_SOURCES = $(common_nodist)
+BUILT_SOURCES += $(common_nodist)
 
-LDADD = $(LIBSELINUX) $(LIBPAM) $(LIBAUDIT)
+src_crond_LDADD = $(LIBSELINUX) $(LIBPAM) $(LIBAUDIT)
+src_crontab_LDADD = $(LIBSELINUX) $(LIBPAM) $(LIBAUDIT)
 
 ## if DEBUG
 ## noinst_PROGRAMS = debug
@@ -31,7 +59,7 @@ LDADD = $(LIBSELINUX) $(LIBPAM) $(LIBAUDIT)
 # If they are configurable, they are declared in configure script.
 # Depends on this Makefile, because it uses make variables.
 # CCD 2010/09/10 added CRON_HOSTNAME for clustered-cron.
-CLEANFILES = cron-paths.h
+CLEANFILES += cron-paths.h
 cron-paths.h: Makefile
        @echo 'creating $@'
        @sed >$@ 's/ *\\$$//' <<\END #\