xref: /illumos-gate/usr/src/cmd/abi/spectrans/Makefile.cmd (revision 5661bb7641e85c46713da7a3002b29ecd2c3daf0)
1753d2d2eSraf#
2753d2d2eSraf# CDDL HEADER START
3753d2d2eSraf#
4753d2d2eSraf# The contents of this file are subject to the terms of the
5753d2d2eSraf# Common Development and Distribution License (the "License").
6753d2d2eSraf# You may not use this file except in compliance with the License.
7753d2d2eSraf#
8753d2d2eSraf# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9753d2d2eSraf# or http://www.opensolaris.org/os/licensing.
10753d2d2eSraf# See the License for the specific language governing permissions
11753d2d2eSraf# and limitations under the License.
12753d2d2eSraf#
13753d2d2eSraf# When distributing Covered Code, include this CDDL HEADER in each
14753d2d2eSraf# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15753d2d2eSraf# If applicable, add the following below this CDDL HEADER, with the
16753d2d2eSraf# fields enclosed by brackets "[]" replaced with your own identifying
17753d2d2eSraf# information: Portions Copyright [yyyy] [name of copyright owner]
18753d2d2eSraf#
19753d2d2eSraf# CDDL HEADER END
20753d2d2eSraf#
21753d2d2eSraf#
22753d2d2eSraf# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
23753d2d2eSraf# Use is subject to license terms.
24753d2d2eSraf#
25*5661bb76SJohn Levon# Copyright (c) 2018, Joyent, Inc.
26753d2d2eSraf
27753d2d2eSrafinclude $(SRC)/cmd/Makefile.cmd
28753d2d2eSraf
29753d2d2eSrafPROG_BIN =	$(ROOTLIB)/abi/$(PROG)
30753d2d2eSraf.PRECIOUS:	$(PROG)
31753d2d2eSraf
32753d2d2eSrafU_LIB	=	parse
33753d2d2eSrafU_BASE	=	../../parser
34753d2d2eSrafU_DIR	= 	$(U_BASE)/$(MACH)
35753d2d2eSrafU_LIB_A	=	$(U_DIR)/lib$(U_LIB).a
36753d2d2eSraf
37753d2d2eSrafCFLAGS +=	$(CCVERBOSE)
38753d2d2eSrafCPPFLAGS +=	-I$(U_BASE) -I..
39753d2d2eSrafLDFLAGS	+=	-L$(U_DIR)
40753d2d2eSrafLINTFLAGS +=	-xsuF -errtags=yes
41753d2d2eSraf
42*5661bb76SJohn Levon# not linted
43*5661bb76SJohn LevonSMATCH=off
44*5661bb76SJohn Levon
45753d2d2eSrafLDLIBS	+=	-l$(U_LIB) -lgen
46753d2d2eSrafLINTLIBS =	-L$(U_DIR) -l$(U_LIB)
47753d2d2eSraf
48753d2d2eSrafSRCS	=	$(OBJECTS:%.o=../%.c)
49753d2d2eSraf
50753d2d2eSraf.KEEP_STATE:
51753d2d2eSraf
52753d2d2eSrafall:	$(PROG)
53753d2d2eSraf
54753d2d2eSraf%.o:	../%.y
55753d2d2eSraf	$(YACC.y) $<
56753d2d2eSraf	$(COMPILE.c) -o $@ y.tab.c
57753d2d2eSraf	$(RM) y.tab.c
58753d2d2eSraf
59753d2d2eSraf%.o:	../%.c
60753d2d2eSraf	$(COMPILE.c) -o $@ $<
61753d2d2eSraf	$(POST_PROCESS_O)
62753d2d2eSraf
63753d2d2eSraf$(PROG): $(U_LIB_A) $(OBJECTS) $(YACC_OBJS)
64753d2d2eSraf	$(LINK.c) -o $@ $(OBJECTS) $(YACC_OBJS) $(LDLIBS)
65753d2d2eSraf	$(POST_PROCESS)
66753d2d2eSraf
67753d2d2eSraf$(U_LIB_A):
68753d2d2eSraf	@cd $(U_DIR); pwd; $(MAKE) all
69753d2d2eSraf
70753d2d2eSrafinstall: $(PROG_BIN)
71753d2d2eSraf
72753d2d2eSraf$(PROG_BIN) :=	FILEMODE = 755
73753d2d2eSraf$(PROG_BIN): $(PROG)
74753d2d2eSraf	$(INS.file) $(PROG)
75753d2d2eSraf
76753d2d2eSrafclean:
77753d2d2eSraf	-$(RM) $(OBJECTS) $(YACC_OBJS)
78753d2d2eSraf
79753d2d2eSrafclobber: clean
80753d2d2eSraf	-$(RM) $(PROG) $(CLOBBERFILES)
81753d2d2eSraf
82753d2d2eSraflint:
83753d2d2eSraf	$(LINT.c) $(SRCS) $(LINTLIBS)
84