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 2005 Sun Microsystems, Inc.  All rights reserved.
  25 # Use is subject to license terms.
  26 #
  27 
  28 # NOTE: awk is oawk.
  29 
  30 PROG= nawk
  31 
  32 OBJ1= b.o lex.o lib.o main.o parse.o proctab.o run.o tran.o
  33 OBJ2= awk.g.o
  34 OBJS= $(OBJ2) $(OBJ1)
  35 SRCS= $(OBJ1:%.o=%.c)
  36 
  37 include ../Makefile.cmd
  38 
  39 #
  40 # Message catalog
  41 #
  42 POFILES= $(OBJS:%.o=%.po)
  43 POFILE= awk.po
  44 XGETFLAGS += -a -x awk.xcl
  45 #
  46 
  47 CPPFLAGS += -D_FILE_OFFSET_BITS=64
  48 YFLAGS += -d
  49 LDLIBS += -lm
  50 LINTFLAGS += -u
  51 CLEANFILES= maketab proctab.c awk.g.c awk.lx.c y.tab.h
  52 
  53 .KEEP_STATE:
  54 
  55 all: $(PROG) 
  56 
  57 $(PROG): $(OBJS)
  58         $(LINK.c) $(OBJS) -o $@ $(LDLIBS)
  59         $(POST_PROCESS)
  60 
  61 #
  62 # message catalog
  63 #
  64 
  65 $(POFILE):  y.tab.h $(POFILES)
  66         $(RM) $@
  67         cat $(POFILES) > $@
  68 #
  69 
  70 proctab.c: maketab
  71         rm -f $@; ./maketab > $@
  72 
  73 maketab: maketab.c
  74         $(NATIVECC) -O maketab.c -o $@ $(LDLIBS)
  75 
  76 install: all $(ROOTPROG) $(ROOTLINK)
  77 
  78 clean:
  79         $(RM) $(OBJS) $(CLEANFILES)
  80 
  81 lint: awk.g.c lint_SRCS
  82         $(LINT.c) awk.g.c $(LDLIBS)
  83         $(LINT.c) maketab.c $(LDLIBS)
  84 
  85 awk.g.c + y.tab.h: awk.g.y
  86 
  87 awk.g.o: awk.g.c
  88 
  89 proctab.o: proctab.c
  90         $(COMPILE.c) proctab.c
  91         $(POST_PROCESS_O)
  92 
  93 include ../Makefile.targ