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 +=     $(CNOWARN_UNINIT)
  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