xref: /illumos-gate/usr/src/tools/cscope-fast/Makefile (revision 2a1fd0ffe121888d44fdec321c25b53dcfaa9118)
1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License, Version 1.0 only
6# (the "License").  You may not use this file except in compliance
7# with the License.
8#
9# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10# or http://www.opensolaris.org/os/licensing.
11# See the License for the specific language governing permissions
12# and limitations under the License.
13#
14# When distributing Covered Code, include this CDDL HEADER in each
15# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16# If applicable, add the following below this CDDL HEADER, with the
17# fields enclosed by brackets "[]" replaced with your own identifying
18# information: Portions Copyright [yyyy] [name of copyright owner]
19#
20# CDDL HEADER END
21#
22
23#
24# Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
25# Use is subject to license terms.
26#
27# Copyright (c) 2018, Joyent, Inc.
28
29PROG= cscope-fast
30
31OBJS= 	main.o dir.o crossref.o scanner.o lookup.o command.o display.o \
32	find.o edit.o exec.o help.o history.o input.o menu.o alloc.o \
33	cgrep.o compath.o invlib.o logdir.o \
34	mouse.o mygetenv.o mygetwd.o mypopen.o \
35	vpaccess.o vpfopen.o vpinit.o vpopen.o vpstat.o
36SRCS=	$(OBJS:%.o=%.c)
37CLEANFILES += $(OBJS) scanner.c
38TMPDIR= /tmp
39
40include ../Makefile.tools
41
42# these three are because we cannot seem to redefine the size of YYLMAX,
43# and thus yytext, in the code because yytext is defined before our code
44# is seen. YYLMAX is supposed to be STMTMAX+PATLEN+1.
45PATLEN=		250
46STMTMAX=	10000
47YYLMAX=		10251
48CFLAGS +=	-DPATLEN=$(PATLEN) -DSTMTMAX=$(STMTMAX) -DYYLMAX=$(YYLMAX)
49CERRWARN +=	-_gcc=-Wno-parentheses
50CERRWARN +=	-_gcc=-Wno-implicit-function-declaration
51CERRWARN +=	-_gcc=-Wno-unused
52CERRWARN +=	-_gcc=-Wno-uninitialized
53
54# not linted
55SMATCH=off
56
57CFLAGS +=	$(CCVERBOSE)
58LDLIBS +=	-lcurses -ll
59
60.KEEP_STATE:
61
62.PARALLEL: $(OBJS)
63
64all:	$(PROG)
65
66# because of goto's in the scanner
67scanner.o := CCVERBOSE=
68
69$(PROG): $(OBJS)
70	$(LINK.c) -o $@ $(OBJS) $(LDLIBS)
71	$(POST_PROCESS)
72
73install: all .WAIT  $(ROOTONBLDMACHPROG)
74
75clean:
76	$(RM) $(CLEANFILES)
77
78lint: lint_SRCS
79
80include ../Makefile.targ
81