Makefile revision 7c478bd95313f5f23a4c958a745db2134aa03244
4778ff543a041ac356d6e661cc9b66c3fafa2092Adam Moore#
4778ff543a041ac356d6e661cc9b66c3fafa2092Adam Moore# CDDL HEADER START
2c5ce90c334a2d0f18474e85c93b424b6ec9daaaAdam Moore#
4778ff543a041ac356d6e661cc9b66c3fafa2092Adam Moore# The contents of this file are subject to the terms of the
2c5ce90c334a2d0f18474e85c93b424b6ec9daaaAdam Moore# Common Development and Distribution License, Version 1.0 only
4778ff543a041ac356d6e661cc9b66c3fafa2092Adam Moore# (the "License"). You may not use this file except in compliance
4778ff543a041ac356d6e661cc9b66c3fafa2092Adam Moore# with the License.
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore#
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore# or http://www.opensolaris.org/os/licensing.
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore# See the License for the specific language governing permissions
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore# and limitations under the License.
620e1cb97d3e8b1b9adae25b0f970778229d82feAdam Moore#
620e1cb97d3e8b1b9adae25b0f970778229d82feAdam Moore# When distributing Covered Code, include this CDDL HEADER in each
620e1cb97d3e8b1b9adae25b0f970778229d82feAdam Moore# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
620e1cb97d3e8b1b9adae25b0f970778229d82feAdam Moore# If applicable, add the following below this CDDL HEADER, with the
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore# fields enclosed by brackets "[]" replaced with your own identifying
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore# information: Portions Copyright [yyyy] [name of copyright owner]
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore#
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore# CDDL HEADER END
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore#
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore#
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore# Use is subject to license terms.
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore#
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore# ident "%Z%%M% %I% %E% SMI"
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore
71faff7b11b42699cd2630a4c371fcec37e94517Adam MooreMYPROG = svccfg
71faff7b11b42699cd2630a4c371fcec37e94517Adam MoorePROG = $(MYPROG)
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore
71faff7b11b42699cd2630a4c371fcec37e94517Adam MooreSRCS = svccfg_main.c \
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore svccfg_engine.c \
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore svccfg_internal.c \
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore svccfg_libscf.c \
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore svccfg_xml.c \
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore svccfg_help.c
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore
71faff7b11b42699cd2630a4c371fcec37e94517Adam MooreLNTS = $(SRCS:%.c=%.ln) \
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore manifest_hash.ln
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore
71faff7b11b42699cd2630a4c371fcec37e94517Adam MooreMYOBJS = $(SRCS:%.c=%.o) \
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore svccfg_grammar.o \
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore svccfg_lex.o \
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore manifest_hash.o
71faff7b11b42699cd2630a4c371fcec37e94517Adam MooreOBJS = $(MYOBJS)
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore
71faff7b11b42699cd2630a4c371fcec37e94517Adam MoorePOFILES = $(SRCS:%.c=%.po) \
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore svccfg_grammar.po \
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore svccfg_lex.po \
71faff7b11b42699cd2630a4c371fcec37e94517Adam Moore ../common/manifest_hash.po
dbe7d1d8fcb85b219fa0d9ab081b7724c651e63dAdam Moore
dbe7d1d8fcb85b219fa0d9ab081b7724c651e63dAdam Mooreinclude ../../Makefile.cmd
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Mooreinclude ../Makefile.ctf
620e1cb97d3e8b1b9adae25b0f970778229d82feAdam Moore
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam MoorePOFILE = $(PROG)_all.po
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore
a3585487d27e6a363816253a6358c59074bef57aAdam MooreNATIVE_BUILD=$(POUND_SIGN)
a3585487d27e6a363816253a6358c59074bef57aAdam Moore$(NATIVE_BUILD)NOT_NATIVE=$(POUND_SIGN)
a3585487d27e6a363816253a6358c59074bef57aAdam Moore
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore$(NATIVE_BUILD)PROG = $(MYPROG:%=%-native)
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore$(NATIVE_BUILD)OBJS = $(MYOBJS:%.o=%-native.o)
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam MooreMYCPPFLAGS = -I ../common -I/usr/include/libxml2
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam MooreCPPFLAGS += $(MYCPPFLAGS)
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam MooreLFLAGS = -t
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam MooreYFLAGS = -d
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam MooreCLOBBERFILES += svccfg_lex.c svccfg_grammar.c svccfg_grammar.h \
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore $(MYPROG:%=%-native)
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam MooreLAZYLIBS = -z lazyload -lxml2 -z nolazyload
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam MooreSVCCFG_EXTRA_LIBS = $(LAZYLIBS) -lscf -ll -luutil -lumem -lmd5
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore$(NOT_NATIVE)SVCCFG_EXTRA_LIBS += -ltecla
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam MooreLIBSCF = $(SRC)/lib/libscf
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam MooreLIBTECLA = $(SRC)/lib/libtecla # just for the header
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam MooreLIBUUTIL = $(SRC)/lib/libuutil
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Mooredebug := COPTFLAG = -g
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moorelint := LINTFLAGS = -mux
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moorelint := SVCCFG_EXTRA_LIBS = -lscf -ll -luutil -lumem -lmd5
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam MooreLDLIBS += $(SVCCFG_EXTRA_LIBS)
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore$(NATIVE_BUILD)CC = $(NATIVECC)
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore$(NATIVE_BUILD)LD = $(NATIVELD)
6e1414a3787add08f9e6457d3d872d980d614862Adam Moore$(NATIVE_BUILD)CFLAGS = $(NATIVE_CFLAGS)
619b290185ea66db1d4011d7c71674366fd95633Adam Moore$(NATIVE_BUILD)CPPFLAGS = \
619b290185ea66db1d4011d7c71674366fd95633Adam Moore -DNATIVE_BUILD \
619b290185ea66db1d4011d7c71674366fd95633Adam Moore $(MYCPPFLAGS) \
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore -I$(LIBSCF)/inc \
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore -I$(LIBTECLA) \
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore -I$(LIBUUTIL)/common
619b290185ea66db1d4011d7c71674366fd95633Adam Moore$(NATIVE_BUILD)LDFLAGS =
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore$(NATIVE_BUILD)LDLIBS = \
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore -L$(LIBUUTIL)/native -R $(LIBUUTIL)/native \
619b290185ea66db1d4011d7c71674366fd95633Adam Moore -L$(LIBSCF)/native -R $(LIBSCF)/native \
619b290185ea66db1d4011d7c71674366fd95633Adam Moore $(SVCCFG_EXTRA_LIBS) -ldoor
620e1cb97d3e8b1b9adae25b0f970778229d82feAdam Moore
b238e52ac22e07b0798ae7b0f63f3fe0e8f9bf95Adam Mooresvccfg_lex.o svccfg_grammar.o := CCVERBOSE =
620e1cb97d3e8b1b9adae25b0f970778229d82feAdam Moore
dbe7d1d8fcb85b219fa0d9ab081b7724c651e63dAdam Mooresvccfg_help.po := XGETFLAGS = -a
b701c311ef82111da645c974b7f65d58152447f3Adam Moore
b701c311ef82111da645c974b7f65d58152447f3Adam Moore.KEEP_STATE:
57fe6dcf945efb6f89119a961654a9b0914ddc5cAdam Moore.PARALLEL: $(OBJS) $(LNTS)
57fe6dcf945efb6f89119a961654a9b0914ddc5cAdam Moore
bf84ae48e272b3ddc103e8da28cc9ed7f30a9ba2Adam Mooreall debug: $(PROG)
bf84ae48e272b3ddc103e8da28cc9ed7f30a9ba2Adam Moore
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moorenative: FRC
bf84ae48e272b3ddc103e8da28cc9ed7f30a9ba2Adam Moore @cd $(LIBUUTIL)/native; pwd; $(MAKE) $(MFLAGS) install
bf84ae48e272b3ddc103e8da28cc9ed7f30a9ba2Adam Moore @cd $(LIBSCF)/native; pwd; $(MAKE) $(MFLAGS) install
bf84ae48e272b3ddc103e8da28cc9ed7f30a9ba2Adam Moore @NATIVE_BUILD= $(MAKE) $(MFLAGS) all
bf84ae48e272b3ddc103e8da28cc9ed7f30a9ba2Adam Moore
bf84ae48e272b3ddc103e8da28cc9ed7f30a9ba2Adam Moore$(PROG): $(OBJS)
bf84ae48e272b3ddc103e8da28cc9ed7f30a9ba2Adam Moore $(LINK.c) -o $@ $(OBJS) $(LDLIBS) $(CTFMERGE_HOOK)
bf84ae48e272b3ddc103e8da28cc9ed7f30a9ba2Adam Moore $(POST_PROCESS)
bf84ae48e272b3ddc103e8da28cc9ed7f30a9ba2Adam Moore
1629abfab16a010ce64a057b1d3b3dfeaec3cc1fAdam Moore$(POFILE): $(POFILES)
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore cat $(POFILES) > $(POFILE)
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore
bf84ae48e272b3ddc103e8da28cc9ed7f30a9ba2Adam Mooreinstall: all $(ROOTUSRSBINPROG)
25ee8111d1b69e187cab3dea8ae0fd93d451be5eAdam Moore
bf84ae48e272b3ddc103e8da28cc9ed7f30a9ba2Adam Mooresvccfg_lex.c: svccfg.l svccfg_grammar.h
bf84ae48e272b3ddc103e8da28cc9ed7f30a9ba2Adam Moore $(LEX) $(LFLAGS) svccfg.l > $@
bf84ae48e272b3ddc103e8da28cc9ed7f30a9ba2Adam Moore
bf84ae48e272b3ddc103e8da28cc9ed7f30a9ba2Adam Mooresvccfg_help.o: svccfg_grammar.h
57fe6dcf945efb6f89119a961654a9b0914ddc5cAdam Mooresvccfg_help-native.o: svccfg_grammar.h
57fe6dcf945efb6f89119a961654a9b0914ddc5cAdam Moore
b701c311ef82111da645c974b7f65d58152447f3Adam Mooresvccfg_grammar.h svccfg_grammar.c: svccfg.y
57fe6dcf945efb6f89119a961654a9b0914ddc5cAdam Moore $(YACC) $(YFLAGS) svccfg.y
f3a9e1c291c91ca0dac89e776fcc8aeb0d0411bdAdam Moore @$(MV) y.tab.h svccfg_grammar.h
273be6b96e549e3248e23cea93980155bfd2c86fAdam Moore @$(MV) y.tab.c svccfg_grammar.c
273be6b96e549e3248e23cea93980155bfd2c86fAdam Moore
a3585487d27e6a363816253a6358c59074bef57aAdam Mooreclean: FRC
a3585487d27e6a363816253a6358c59074bef57aAdam Moore $(RM) $(MYOBJS) $(MYOBJS:%.o=%-native.o) $(LNTS)
273be6b96e549e3248e23cea93980155bfd2c86fAdam Moore
620e1cb97d3e8b1b9adae25b0f970778229d82feAdam Moorelint: $(LNTS)
bdd47f2da58d4a47f193431dd9c903369d65853aAdam Moore $(LINT.c) $(LINTFLAGS) $(LNTS) $(LDLIBS)
bdd47f2da58d4a47f193431dd9c903369d65853aAdam Moore
a3585487d27e6a363816253a6358c59074bef57aAdam Moore%-native.o: %.c
30ce45928a05c76d3982ac8d0442c23e266a2ef3Adam Moore $(COMPILE.c) -o $@ $< $(CTFCONVERT_HOOK)
30ce45928a05c76d3982ac8d0442c23e266a2ef3Adam Moore $(POST_PROCESS_O)
30ce45928a05c76d3982ac8d0442c23e266a2ef3Adam Moore
620e1cb97d3e8b1b9adae25b0f970778229d82feAdam Moore%-native.o: ../common/%.c
30ce45928a05c76d3982ac8d0442c23e266a2ef3Adam Moore $(COMPILE.c) -o $@ $< $(CTFCONVERT_HOOK)
30ce45928a05c76d3982ac8d0442c23e266a2ef3Adam Moore $(POST_PROCESS_O)
30ce45928a05c76d3982ac8d0442c23e266a2ef3Adam Moore
30ce45928a05c76d3982ac8d0442c23e266a2ef3Adam Moore%.o: ../common/%.c
30ce45928a05c76d3982ac8d0442c23e266a2ef3Adam Moore $(COMPILE.c) $(OUTPUT_OPTION) $< $(CTFCONVERT_HOOK)
30ce45928a05c76d3982ac8d0442c23e266a2ef3Adam Moore $(POST_PROCESS_O)
30ce45928a05c76d3982ac8d0442c23e266a2ef3Adam Moore
30ce45928a05c76d3982ac8d0442c23e266a2ef3Adam Moore%.ln: ../common/%.c
30ce45928a05c76d3982ac8d0442c23e266a2ef3Adam Moore $(LINT.c) $(OUTPUT_OPTION) -c $<
30ce45928a05c76d3982ac8d0442c23e266a2ef3Adam Moore
30ce45928a05c76d3982ac8d0442c23e266a2ef3Adam Mooreinclude ../../Makefile.targ
a3585487d27e6a363816253a6358c59074bef57aAdam Moore
a3585487d27e6a363816253a6358c59074bef57aAdam MooreFRC:
a3585487d27e6a363816253a6358c59074bef57aAdam Moore