17c478bd9Sstevel@tonic-gate# 27c478bd9Sstevel@tonic-gate# CDDL HEADER START 37c478bd9Sstevel@tonic-gate# 47c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the 59acbbeafSnn35248# Common Development and Distribution License (the "License"). 69acbbeafSnn35248# You may not use this file except in compliance with the License. 77c478bd9Sstevel@tonic-gate# 87c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 97c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing. 107c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions 117c478bd9Sstevel@tonic-gate# and limitations under the License. 127c478bd9Sstevel@tonic-gate# 137c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each 147c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 157c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the 167c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying 177c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner] 187c478bd9Sstevel@tonic-gate# 197c478bd9Sstevel@tonic-gate# CDDL HEADER END 207c478bd9Sstevel@tonic-gate# 217c478bd9Sstevel@tonic-gate# 22c9f134eaSjv227347# Copyright 2008 Sun Microsystems, Inc. All rights reserved. 237c478bd9Sstevel@tonic-gate# Use is subject to license terms. 247c478bd9Sstevel@tonic-gate# 25*44bf619dSJohn Levon# Copyright 2019 Joyent, Inc. 26*44bf619dSJohn Levon# 277c478bd9Sstevel@tonic-gate 287c478bd9Sstevel@tonic-gatePROG= zonecfg 297c478bd9Sstevel@tonic-gateOBJS= zonecfg.o zonecfg_lex.o zonecfg_grammar.tab.o 307c478bd9Sstevel@tonic-gate 317c478bd9Sstevel@tonic-gateinclude ../Makefile.cmd 327c478bd9Sstevel@tonic-gate 33df4628cbSrie# zonecfg has a name clash with main() and libl.so.1. However, zonecfg must 34df4628cbSrie# still export a number of "yy*" (libl) interfaces. Reduce all other symbols 35df4628cbSrie# to local scope. 36df4628cbSrieMAPFILES += $(MAPFILE.LEX) $(MAPFILE.NGB) 37df4628cbSrieMAPOPTS = $(MAPFILES:%=-M%) 38df4628cbSrie 397c478bd9Sstevel@tonic-gateLFLAGS = -t 407c478bd9Sstevel@tonic-gateYFLAGS = -d -b zonecfg_grammar 41c9f134eaSjv227347LDLIBS += -lzonecfg -ll -lnsl -ltecla -lzfs -lbrand -ldladm -linetutil 427c478bd9Sstevel@tonic-gateCPPFLAGS += -I. 43df4628cbSrieLDFLAGS += $(MAPOPTS) 447c478bd9Sstevel@tonic-gateCLEANFILES += zonecfg_lex.c zonecfg_grammar.tab.c zonecfg_grammar.tab.h 457c478bd9Sstevel@tonic-gate 46d3b5f563SJohn LevonCERRWARN += $(CNOWARN_UNINIT) 477014882cSRichard LoweCERRWARN += -_gcc=-Wno-unused-label 487014882cSRichard LoweCERRWARN += -_gcc=-Wno-unused-variable 497014882cSRichard LoweCERRWARN += -_gcc=-Wno-implicit-function-declaration 507014882cSRichard Lowe 515661bb76SJohn LevonSMOFF += all_func_returns 525661bb76SJohn Levon 53*44bf619dSJohn Levon# false positive 54*44bf619dSJohn Levonzonecfg_lex.o := SMOFF += free 55*44bf619dSJohn Levon 56b6805bf7SGordon RossCLOBBERFILES += $(PROG).ln 57b6805bf7SGordon Ross 587c478bd9Sstevel@tonic-gate.KEEP_STATE: 597c478bd9Sstevel@tonic-gate 607c478bd9Sstevel@tonic-gateall: $(PROG) 617c478bd9Sstevel@tonic-gate 62df4628cbSrie$(PROG): $(OBJS) $(MAPFILES) 637c478bd9Sstevel@tonic-gate $(LINK.c) -o $@ $(OBJS) $(LDLIBS) 647c478bd9Sstevel@tonic-gate $(POST_PROCESS) 657c478bd9Sstevel@tonic-gate 667c478bd9Sstevel@tonic-gateinstall: all $(ROOTUSRSBINPROG) 677c478bd9Sstevel@tonic-gate 687c478bd9Sstevel@tonic-gatezonecfg_lex.c: zonecfg_lex.l zonecfg_grammar.tab.h zonecfg.h 697c478bd9Sstevel@tonic-gate $(LEX) $(LFLAGS) zonecfg_lex.l > $@ 707c478bd9Sstevel@tonic-gate 717c478bd9Sstevel@tonic-gatezonecfg_grammar.tab.h zonecfg_grammar.tab.c: zonecfg_grammar.y zonecfg.h 727c478bd9Sstevel@tonic-gate $(YACC) $(YFLAGS) zonecfg_grammar.y 737c478bd9Sstevel@tonic-gate 747c478bd9Sstevel@tonic-gatezonecfg_lex.o zonecfg_grammar.tab.o := CCVERBOSE = 757c478bd9Sstevel@tonic-gate 767c478bd9Sstevel@tonic-gatecheck: $(PROG).c $(PROG).h 777c478bd9Sstevel@tonic-gate $(CSTYLE) -pP $(PROG).c $(PROG).h 787c478bd9Sstevel@tonic-gate $(HDRCHK) $(PROG).h 797c478bd9Sstevel@tonic-gate 807c478bd9Sstevel@tonic-gateclean: 817c478bd9Sstevel@tonic-gate $(RM) $(OBJS) $(CLEANFILES) 827c478bd9Sstevel@tonic-gate 837c478bd9Sstevel@tonic-gate# 847c478bd9Sstevel@tonic-gate# We don't do lint of lex- and yacc- generated source files 857c478bd9Sstevel@tonic-gate# 867c478bd9Sstevel@tonic-gatelint: 877c478bd9Sstevel@tonic-gate $(LINT.c) -c $(PROG).c $(LDLIBS) 887c478bd9Sstevel@tonic-gate 897c478bd9Sstevel@tonic-gateinclude ../Makefile.targ 90