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