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 += $(CNOWARN_UNINIT) 53 54# not linted 55SMATCH=off 56 57CFLAGS += $(CCVERBOSE) 58LDLIBS += -lcurses -ll 59NATIVE_LIBS += libcurses.so libl.so 60 61.KEEP_STATE: 62 63.PARALLEL: $(OBJS) 64 65all: $(PROG) 66 67# because of goto's in the scanner 68scanner.o := CCVERBOSE= 69 70$(PROG): $(OBJS) 71 $(LINK.c) -o $@ $(OBJS) $(LDLIBS) 72 $(POST_PROCESS) 73 74install: all .WAIT $(ROOTONBLDMACHPROG) 75 76clean: 77 $(RM) $(CLEANFILES) 78 79lint: lint_SRCS 80 81include ../Makefile.targ 82