Makefile revision 9444c26f4faabda140242c3986089704c4073ced
9725N/A#
9725N/A# CDDL HEADER START
9725N/A#
9725N/A# The contents of this file are subject to the terms of the
9725N/A# Common Development and Distribution License (the "License").
9725N/A# You may not use this file except in compliance with the License.
9725N/A#
9725N/A# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9725N/A# or http://www.opensolaris.org/os/licensing.
9725N/A# See the License for the specific language governing permissions
9725N/A# and limitations under the License.
9725N/A#
9725N/A# When distributing Covered Code, include this CDDL HEADER in each
9725N/A# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9725N/A# If applicable, add the following below this CDDL HEADER, with the
9725N/A# fields enclosed by brackets "[]" replaced with your own identifying
9725N/A# information: Portions Copyright [yyyy] [name of copyright owner]
9725N/A#
9725N/A# CDDL HEADER END
9725N/A#
9725N/A
9725N/A#
9725N/A# Copyright 2010 Sun Microsystems, Inc. All rights reserved.
9725N/A# Use is subject to license terms.
9725N/A#
9725N/A
9725N/AMYPROG = svccfg
9725N/APROG = $(MYPROG)
9725N/A
9725N/ASRCS = svccfg_main.c \
9725N/A svccfg_engine.c \
9725N/A svccfg_internal.c \
9725N/A svccfg_libscf.c \
9725N/A svccfg_tmpl.c \
9725N/A svccfg_xml.c \
9725N/A svccfg_help.c
9725N/A
9725N/ALNTS = $(SRCS:%.c=%.ln) \
9725N/A manifest_find.ln \
9725N/A manifest_hash.ln
9725N/A
9725N/AMYOBJS = $(SRCS:%.c=%.o) \
9725N/A svccfg_grammar.o \
9725N/A svccfg_lex.o \
9725N/A manifest_find.o \
9725N/A manifest_hash.o
9725N/AOBJS = $(MYOBJS)
9725N/A
9725N/APOFILES = $(SRCS:%.c=%.po) \
9725N/A svccfg_grammar.po \
9725N/A svccfg_lex.po \
9725N/A ../common/manifest_find.po \
9725N/A ../common/manifest_hash.po
9725N/A
9725N/Ainclude ../../Makefile.cmd
9725N/Ainclude ../../Makefile.ctf
9725N/A
9725N/APOFILE = $(PROG)_all.po
9725N/A
9725N/ANATIVE_BUILD=$(POUND_SIGN)
9725N/A$(NATIVE_BUILD)NOT_NATIVE=$(POUND_SIGN)
9725N/A
9725N/A$(NATIVE_BUILD)PROG = $(MYPROG:%=%-native)
9725N/A$(NATIVE_BUILD)OBJS = $(MYOBJS:%.o=%-native.o)
9725N/A
9725N/A# svccfg has a name clash with main() and libl.so.1. However, svccfg must
9728N/A# still export a number of "yy*" (libl) interfaces. Reduce all other symbols
9725N/A# to local scope.
9725N/AMAPFILES += $(MAPFILE.LEX) $(MAPFILE.NGB)
9725N/AMAPOPTS = $(MAPFILES:%=-M%)
9725N/A
9725N/AMYCPPFLAGS = -I ../common -I/usr/include/libxml2
10017N/ACPPFLAGS += $(MYCPPFLAGS)
10017N/ALDFLAGS += $(MAPOPTS)
10017N/A
10017N/ALFLAGS = -t
10017N/AYFLAGS = -d
10017N/A
10080N/ACLOBBERFILES += svccfg_lex.c svccfg_grammar.c svccfg_grammar.h \
10017N/A $(MYPROG:%=%-native)
10017N/A
10017N/ASVCCFG_EXTRA_LIBS = -lxml2 -lscf -ll -luutil -lumem -lmd5
10017N/A$(NOT_NATIVE)SVCCFG_EXTRA_LIBS += -ltecla
10017N/A
11198N/ALIBSCF = $(SRC)/lib/libscf
10017N/ALIBTECLA = $(SRC)/lib/libtecla # just for the header
11192N/ALIBUUTIL = $(SRC)/lib/libuutil
9725N/A
9725N/Adebug := COPTFLAG = -g
10017N/A
10319N/Alint := LINTFLAGS = -mux
10656N/Alint := SVCCFG_EXTRA_LIBS = -lscf -ll -luutil -lumem -lmd5
10017N/A
9838N/ALDLIBS += $(SVCCFG_EXTRA_LIBS)
10017N/A
10656N/A$(NATIVE_BUILD)CC = $(NATIVECC)
10017N/A$(NATIVE_BUILD)LD = $(NATIVELD)
10017N/A$(NATIVE_BUILD)CFLAGS = $(NATIVE_CFLAGS)
10017N/A$(NATIVE_BUILD)CPPFLAGS = \
10017N/A -DNATIVE_BUILD \
10017N/A $(MYCPPFLAGS) \
10017N/A -I$(LIBSCF)/inc \
10656N/A -I$(LIBTECLA) \
10017N/A -I$(LIBUUTIL)/common
10017N/A$(NATIVE_BUILD)LDFLAGS =
9725N/A$(NATIVE_BUILD)LDLIBS = \
9725N/A -L$(LIBUUTIL)/native -R $(LIBUUTIL)/native \
9725N/A -L$(LIBSCF)/native -R $(LIBSCF)/native \
11198N/A $(SVCCFG_EXTRA_LIBS)
11198N/A
10017N/Asvccfg_lex.o svccfg_grammar.o := CCVERBOSE =
10017N/A
10017N/Asvccfg_help.po := XGETFLAGS = -a
10017N/A
10017N/A.KEEP_STATE:
10017N/A.PARALLEL: $(OBJS) $(LNTS)
10017N/A
10017N/Aall debug: $(PROG)
10017N/A
10017N/Anative: FRC
10017N/A @cd $(LIBUUTIL)/native; pwd; $(MAKE) $(MFLAGS) install
10017N/A @cd $(LIBSCF)/native; pwd; $(MAKE) $(MFLAGS) install
10017N/A @NATIVE_BUILD= $(MAKE) $(MFLAGS) all
10017N/A
10017N/A$(PROG): $(OBJS) $(MAPFILES)
10017N/A $(LINK.c) -o $@ $(OBJS) $(LDLIBS)
10017N/A $(POST_PROCESS)
10017N/A
10017N/A$(POFILE): $(POFILES)
10080N/A cat $(POFILES) > $(POFILE)
10080N/A
10080N/Ainstall: all $(ROOTUSRSBINPROG)
10017N/A
10017N/Asvccfg_lex.c: svccfg.l svccfg_grammar.h
10017N/A $(LEX) $(LFLAGS) svccfg.l > $@
10017N/A
10017N/Asvccfg_help.o: svccfg_grammar.h
10017N/Asvccfg_help-native.o: svccfg_grammar.h
10017N/A
10017N/Asvccfg_grammar.h svccfg_grammar.c: svccfg.y
10017N/A $(YACC) $(YFLAGS) svccfg.y
10017N/A @$(MV) y.tab.h svccfg_grammar.h
10017N/A @$(MV) y.tab.c svccfg_grammar.c
10017N/A
10017N/Aclean: FRC
10017N/A $(RM) $(MYOBJS) $(MYOBJS:%.o=%-native.o) $(LNTS)
10017N/A
10017N/Alint: $(LNTS)
10017N/A $(LINT.c) $(LINTFLAGS) $(LNTS) $(LDLIBS)
10017N/A
11192N/A%-native.o: %.c
11192N/A $(COMPILE.c) -o $@ $<
11192N/A $(POST_PROCESS_O)
9725N/A
9725N/A%-native.o: ../common/%.c
9725N/A $(COMPILE.c) -o $@ $<
9725N/A $(POST_PROCESS_O)
9725N/A
9725N/A%.o: ../common/%.c
10017N/A $(COMPILE.c) $(OUTPUT_OPTION) $<
10017N/A $(POST_PROCESS_O)
10017N/A
10017N/A%.ln: ../common/%.c
10017N/A $(LINT.c) $(OUTPUT_OPTION) -c $<
10017N/A
10656N/Ainclude ../../Makefile.targ
10656N/A
10656N/AFRC:
10017N/A