xref: /netbsd-src/external/bsd/kyua-cli/lib/utils/Makefile (revision ba65fde2d7fefa7d39838fa5fa855e62bd606b5e)
1*ba65fde2Sjmmv# $NetBSD: Makefile,v 1.1 2013/02/23 14:16:50 jmmv Exp $
2*ba65fde2Sjmmv
3*ba65fde2Sjmmv.include <bsd.init.mk>
4*ba65fde2Sjmmv
5*ba65fde2Sjmmv.PATH:		${SRCDIR}/utils
6*ba65fde2Sjmmv
7*ba65fde2SjmmvLIB=		utils
8*ba65fde2Sjmmv
9*ba65fde2SjmmvWARNS?=		2
10*ba65fde2Sjmmv
11*ba65fde2SjmmvSRCS=		datetime.cpp \
12*ba65fde2Sjmmv		env.cpp \
13*ba65fde2Sjmmv		memory.cpp \
14*ba65fde2Sjmmv		passwd.cpp \
15*ba65fde2Sjmmv		sanity.cpp \
16*ba65fde2Sjmmv		stream.cpp \
17*ba65fde2Sjmmv		units.cpp
18*ba65fde2Sjmmv
19*ba65fde2SjmmvSRCS+=		cmdline/base_command.cpp \
20*ba65fde2Sjmmv		cmdline/exceptions.cpp \
21*ba65fde2Sjmmv		cmdline/globals.cpp \
22*ba65fde2Sjmmv		cmdline/options.cpp \
23*ba65fde2Sjmmv		cmdline/parser.cpp \
24*ba65fde2Sjmmv		cmdline/ui.cpp \
25*ba65fde2Sjmmv		cmdline/ui_mock.cpp
26*ba65fde2Sjmmv
27*ba65fde2SjmmvSRCS+=		config/exceptions.cpp \
28*ba65fde2Sjmmv		config/keys.cpp \
29*ba65fde2Sjmmv		config/lua_module.cpp \
30*ba65fde2Sjmmv		config/nodes.cpp \
31*ba65fde2Sjmmv		config/parser.cpp \
32*ba65fde2Sjmmv		config/tree.cpp
33*ba65fde2Sjmmv
34*ba65fde2SjmmvSRCS+=		format/exceptions.cpp \
35*ba65fde2Sjmmv		format/formatter.cpp
36*ba65fde2Sjmmv
37*ba65fde2SjmmvSRCS+=		fs/auto_cleaners.cpp \
38*ba65fde2Sjmmv		fs/exceptions.cpp \
39*ba65fde2Sjmmv		fs/lua_module.cpp \
40*ba65fde2Sjmmv		fs/operations.cpp \
41*ba65fde2Sjmmv		fs/path.cpp
42*ba65fde2Sjmmv
43*ba65fde2SjmmvSRCS+=		logging/operations.cpp
44*ba65fde2Sjmmv
45*ba65fde2SjmmvSRCS+=		process/child.cpp \
46*ba65fde2Sjmmv		process/exceptions.cpp \
47*ba65fde2Sjmmv		process/fdstream.cpp \
48*ba65fde2Sjmmv		process/status.cpp \
49*ba65fde2Sjmmv		process/system.cpp \
50*ba65fde2Sjmmv		process/systembuf.cpp
51*ba65fde2Sjmmv
52*ba65fde2SjmmvSRCS+=		signals/exceptions.cpp \
53*ba65fde2Sjmmv		signals/interrupts.cpp \
54*ba65fde2Sjmmv		signals/misc.cpp \
55*ba65fde2Sjmmv		signals/programmer.cpp
56*ba65fde2Sjmmv
57*ba65fde2SjmmvSRCS+=		sqlite/c_gate.cpp \
58*ba65fde2Sjmmv		sqlite/database.cpp \
59*ba65fde2Sjmmv		sqlite/exceptions.cpp \
60*ba65fde2Sjmmv		sqlite/statement.cpp \
61*ba65fde2Sjmmv		sqlite/transaction.cpp
62*ba65fde2Sjmmv
63*ba65fde2SjmmvSRCS+=		text/exceptions.cpp \
64*ba65fde2Sjmmv		text/operations.cpp \
65*ba65fde2Sjmmv		text/table.cpp \
66*ba65fde2Sjmmv		text/templates.cpp
67*ba65fde2Sjmmv
68*ba65fde2Sjmmv# The subdirectories into which we recurse only exist to create the necessary
69*ba65fde2Sjmmv# obj directories for the above SRCS declarations to work.  We need to be able
70*ba65fde2Sjmmv# to create object files of the form <subdirectory>/<file>.o, and therefore
71*ba65fde2Sjmmv# the subdirectory must exist upfront.
72*ba65fde2Sjmmv#
73*ba65fde2Sjmmv# Note that there are source files of the same name in various subdirectories,
74*ba65fde2Sjmmv# so we just cannot use .PATH to look for files in all of them at once.
75*ba65fde2Sjmmv#
76*ba65fde2Sjmmv# TODO: Would be nice if bsd.obj.mk (or whichever other module) did the right
77*ba65fde2Sjmmv# thing here and just created these obj directories for us.  Or, alternatively,
78*ba65fde2Sjmmv# we could have every subdirectory Makefile create a temporary .a and we could
79*ba65fde2Sjmmv# pull all the .a files together from here into libutil.a.
80*ba65fde2SjmmvSUBDIR=		cmdline config format fs logging process signals sqlite text
81*ba65fde2Sjmmv.for dir in ${SUBDIR}
82*ba65fde2Sjmmvclean-${dir} cleandir-${dir} includes-${dir}: .PHONY
83*ba65fde2Sjmmv	@true
84*ba65fde2Sjmmv.endfor
85*ba65fde2Sjmmv
86*ba65fde2Sjmmv.include <bsd.subdir.mk>
87*ba65fde2Sjmmv.include <bsd.lib.mk>
88