# whenjobs # Copyright (C) 2012 Red Hat Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. EXTRA_DIST = $(SOURCES) whenjobsd.pod sbin_SCRIPTS = whenjobsd OCAMLPACKAGES = -package unix,num,camlp4.lib,calendar,rpc -I ../lib OCAMLCFLAGS = -g -warn-error CDEFLMPSUVYZX $(OCAMLPACKAGES) OCAMLOPTFLAGS = $(OCAMLCFLAGS) # These should be in alphabetical order. SOURCES = \ daemon.mli \ daemon.ml \ syslog.mli \ syslog.ml \ whenjobsd.ml \ whenproto_srv.mli \ whenproto_srv.ml # In dependency order. OBJECTS = \ syslog.cmo \ whenproto_srv.cmo \ daemon.cmo \ whenjobsd.cmo XOBJECTS = $(OBJECTS:.cmo=.cmx) # Daemon. noinst_LIBRARIES = libdaemon.a libdaemon_a_SOURCES = exit.c syslog_c.c libdaemon_a_CFLAGS = -I$(shell $(OCAMLC) -where) whenproto_srv.ml whenproto_srv.mli: whenproto.x $(OCAMLRPCGEN) -int int32 -hyper int64 -srv $< whenproto.x: ../lib/whenproto.x ln -f $< $@ if HAVE_OCAMLOPT whenjobsd: ../lib/whenlib.cmxa $(XOBJECTS) libdaemon.a $(OCAMLFIND) opt $(OCAMLOPTFLAGS) -ccopt -L../lib \ -linkpkg whenlib.cmxa \ libdaemon_a-exit.o libdaemon_a-syslog_c.o \ $(XOBJECTS) -o $@ else whenjobsd: ../lib/whenlib.cma $(OBJECTS) libdaemon.a $(OCAMLFIND) c -custom $(OCAMLCFLAGS) -ccopt -L../lib \ -linkpkg whenlib.cma \ libdaemon_a-exit.o libdaemon_a-syslog_c.o \ $(OBJECTS) -o $@ endif # Rules for all OCaml files. %.cmi: %.mli ../lib/whenlib.cma $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -c $< -o $@ %.cmo: %.ml ../lib/whenlib.cma $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -c $< -o $@ %.cmx: %.ml ../lib/whenlib.cma $(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) -c $< -o $@ SUFFIXES = .cmo .cmi .cmx .ml .mli .mll .mly # OCaml dependencies. depend: .depend .depend: $(SOURCES) rm -f $@ $@-t $(OCAMLFIND) ocamldep $^ | \ $(SED) -e 's/ *$$//' | \ $(SED) -e :a -e '/ *\\$$/N; s/ *\\\n */ /; ta' | \ LANG=C sort > $@-t mv $@-t $@ -include .depend # Manual page. man_MANS = whenjobsd.8 whenjobsd.8: whenjobsd.pod pod2man \ -c "Job scheduling" \ --release "$(PACKAGE)-$(VERSION)" \ --section 8 \ --stderr --utf8 \ $< > $@ CLEANFILES = \ *.cmi *.cmo *.cmx *.cma *.cmxa *~ \ whenproto.x \ whenproto_srv.ml whenproto_srv.mli \ whenjobsd