AboutSummaryRefsLogTreeCommitDiffStats
path: root/Makefile.am
diff options
context:
space:
mode:
authorMathieu Lirzin <mthl@gnu.org>2016-05-09 14:50:29 +0200
committerMathieu Lirzin <mthl@gnu.org>2016-12-01 00:15:43 +0100
commitc87c643ca19b731ee6c53fbea72af8312ca6a725 (patch)
tree65a5f15799133ba5fec6f6f42ff7e59a4a7a233e /Makefile.am
parent73b22946508d55bed9df1c050adeb289ff593540 (diff)
downloadmcron-c87c643ca19b731ee6c53fbea72af8312ca6a725.tar.gz
mcron-c87c643ca19b731ee6c53fbea72af8312ca6a725.tar.bz2
mcron-c87c643ca19b731ee6c53fbea72af8312ca6a725.zip
all: Separate programs in different executables.
This improves readability and complies with the GNU Coding Standards by making the behavior of the programs independent of the name used to invoke them. * src/mcron/scripts/cron.scm: New file. * src/mcron/scripts/crontab.scm: Likewise. * src/mcron/scripts/mcron.scm: Likewise. * Makefile.am (dist_mcronmodule_DATA): Remove 'src/mcron/crontab.scm'. (bin_PROGRAMS): Add 'crontab'. (sbin_PROGRAMS): Add 'cron'. (mcron_CFLAGS, mcron_LDADD): Rename to ... (AM_CFLAGS, LDADD): ... these. (cron_SOURCES, cron_CPPFLAGS, cron_DEPENDENCIES) (crontab_SOURCES, crontab_CPPFLAGS, crontab_DEPENDENCIES) (mcron_CPPFLAGS, mcronscriptdir, dist_mcronscript_DATA): New variables. (modules): Redefine it in terms of other '_DATA' variables. * src/mcron/crontab.scm: Remove file. * src/mcron/main.scm (parse-args): New procedure. (command-name, command-type, options): Remove. (show-version): Adapt. (show-help, process-files-in-system-directory, cron-file-descriptors) (main, process-user-file, process-files-in-user-directory): Move procedures in the new files. * src/mcron.c (inner_main): Define the current module at compile time. * TODO: Update. * .gitignore: Likewise.
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am39
1 files changed, 30 insertions, 9 deletions
diff --git a/Makefile.am b/Makefile.am
index 8c105e9..dc47945 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -16,13 +16,25 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-bin_PROGRAMS = mcron
+bin_PROGRAMS = mcron crontab
+sbin_PROGRAMS = cron
+
+AM_CFLAGS = @GUILE_CFLAGS@
+LDADD = @GUILE_LIBS@
+
mcron_SOURCES = src/mcron.c
-mcron_CFLAGS = @GUILE_CFLAGS@
-mcron_DEPENDENCIES = $(mcronmodule_DATA)
-mcron_LDADD = @GUILE_LIBS@
+mcron_CPPFLAGS = -DPROGRAM="\"mcron\""
+mcron_DEPENDENCIES = $(modules:%.scm=%.go)
-modules = \
+cron_SOURCES = src/mcron.c
+cron_CPPFLAGS = -DPROGRAM="\"cron\""
+cron_DEPENDENCIES = $(modules:%.scm=%.go)
+
+crontab_SOURCES = src/mcron.c
+crontab_CPPFLAGS = -DPROGRAM="\"crontab\""
+crontab_DEPENDENCIES = $(modules:%.scm=%.go)
+
+dist_mcronmodule_DATA = \
src/mcron/base.scm \
src/mcron/environment.scm \
src/mcron/job-specifier.scm \
@@ -32,13 +44,22 @@ modules = \
src/mcron/vixie-time.scm
mcronmodule_DATA = \
- $(modules:%.scm=%.go) \
+ $(dist_mcronmodule_DATA:%.scm=%.go) \
src/mcron/config.scm \
src/mcron/config.go
-dist_mcronmodule_DATA = \
- $(modules) \
- src/mcron/crontab.scm
+mcronscriptdir = $(mcronmoduledir)/scripts
+dist_mcronscript_DATA = \
+ src/mcron/scripts/cron.scm \
+ src/mcron/scripts/crontab.scm \
+ src/mcron/scripts/mcron.scm
+
+mcronscript_DATA = $(dist_mcronscript_DATA:%.scm=%.go)
+
+modules = \
+ $(dist_mcronmodule_DATA) \
+ $(dist_mcronscript_DATA) \
+ src/mcron/config.scm
# Unset 'GUILE_LOAD_COMPILED_PATH' altogether while compiling. Otherwise, if
# $GUILE_LOAD_COMPILED_PATH contains $(mcronmoduledir), we may find .go files