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 29 PROG= cscope-fast 30 31 OBJS= 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 36 SRCS= $(OBJS:%.o=%.c) 37 CLEANFILES += $(OBJS) scanner.c 38 TMPDIR= /tmp 39 40 include ../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. 45 PATLEN= 250 46 STMTMAX= 10000 47 YYLMAX= 10251 48 CFLAGS += -DPATLEN=$(PATLEN) -DSTMTMAX=$(STMTMAX) -DYYLMAX=$(YYLMAX) 49 CERRWARN += -_gcc=-Wno-parentheses 50 CERRWARN += -_gcc=-Wno-implicit-function-declaration 51 CERRWARN += -_gcc=-Wno-unused 52 CERRWARN += -_gcc=-Wno-uninitialized 53 54 # not linted 55 SMATCH=off 56 57 CFLAGS += $(CCVERBOSE) 58 LDLIBS += -lcurses -ll 59 60 .KEEP_STATE: 61 62 .PARALLEL: $(OBJS) 63 64 all: $(PROG) 65 66 # because of goto's in the scanner 67 scanner.o := CCVERBOSE= 68 69 $(PROG): $(OBJS) 70 $(LINK.c) -o $@ $(OBJS) $(LDLIBS) 71 $(POST_PROCESS) 72 73 install: all .WAIT $(ROOTONBLDMACHPROG) 74 75 clean: 76 $(RM) $(CLEANFILES) 77 78 lint: lint_SRCS 79 80 include ../Makefile.targ