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 # Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
  24 # Use is subject to license terms.
  25 #
  26 # Copyright 2017 RackTop Systems.
  27 #
  28 
  29 include         ../Makefile.cmd
  30 
  31 PROG =          oawk
  32 LINKPROG =      awk
  33 
  34 SRCS =          b.c lib.c main.c parse.c run.c tran.c
  35 
  36 #TXTS =         README EXPLAIN
  37 
  38 OBJS =          awk.g.o awk.lx.o proctab.o tmptoken.o           \
  39                 $(SRCS:%.c=%.o)
  40 
  41 #
  42 # for message catalogue
  43 #
  44 POFILES=        $(OBJS:%.o=%.po)
  45 POFILE=         oawk.po
  46 XGETFLAGS +=    -a -x oawk.xcl
  47 
  48 NATIVEDIR =     native
  49 MAKEPRCTAB =    $(NATIVEDIR)/makeprctab
  50 
  51 NATIVEOBJS =    $(NATIVEDIR)/makeprctab.o $(NATIVEDIR)/tmptoken.o
  52 $(MAKEPRCTAB) :=        CC = $(NATIVECC)
  53 $(MAKEPRCTAB) :=        POST_PROCESS=
  54 $(MAKEPRCTAB) :=        POST_PROCESS_O=
  55 $(MAKEPRCTAB) :=        ZASSERTDEFLIB=
  56 
  57 CLEANFILES =    proctab.c y.tab.h y.tab.c awk.h awk.g.c         \
  58                 tmptoken.c awk.lx.c $(NATIVEOBJS) $(MAKEPRCTAB) \
  59                 temp
  60 
  61 YFLAGS =        -d
  62 XLDLIBS5CC +=   -lm 
  63 LDLIBS +=       -lm
  64 CPPFLAGS =      -I. $(CPPFLAGS.master)
  65 CPPFLAGS +=     -D_FILE_OFFSET_BITS=64
  66 
  67 ROOTLINK =      $(LINKPROG:%=$(ROOTBIN)/%)
  68 
  69 CERRWARN +=     -_gcc=-Wno-implicit-function-declaration
  70 CERRWARN +=     -_gcc=-Wno-unused-label
  71 CERRWARN +=     -_gcc=-Wno-unused-variable
  72 CERRWARN +=     -_gcc=-Wno-extra
  73 CERRWARN +=     -_gcc=-Wno-parentheses
  74 
  75 .KEEP_STATE :
  76 
  77 all :           $(PROG) $(TXTS)
  78 
  79 $(PROG) :       $(OBJS)
  80                 $(LINK.c) $(OBJS)  -o $@  $(LDLIBS)
  81                 $(POST_PROCESS)
  82 
  83 $(POFILE):      $(POFILES)
  84                 $(RM)   $@
  85                 $(CAT)  $(POFILES)      > $@
  86 
  87 awk.g.c + awk.h :       awk.g.y
  88                 $(RM) awk.g.c awk.h
  89                 $(YACC.y) awk.g.y
  90                 $(MV) y.tab.c awk.g.c
  91                 $(MV) y.tab.h awk.h
  92 
  93 awk.lx.c:       awk.lx.l
  94                 $(LEX.l) -w awk.lx.l > awk.lx.c
  95 
  96 tmptoken.c :    tokenscript token.c
  97                 $(RM) $@
  98                 ed - < tokenscript
  99 
 100 proctab.c :     $(MAKEPRCTAB)
 101                 $(RM) $@
 102                 $(MAKEPRCTAB) > $@
 103 
 104 $(MAKEPRCTAB) : $(NATIVEDIR) $(NATIVEOBJS)
 105                 $(LINK.c) $(NATIVEOBJS) -o $@ $(XLDLIBS5CC)
 106 
 107 install :       all $(ROOTPROG) $(ROOTLINK)
 108 
 109 $(NATIVEDIR) :
 110                 -@mkdir -p $(NATIVEDIR)
 111 
 112 $(NATIVEDIR)/%.o :      %.c
 113                 $(COMPILE.c) -o $@ $<
 114 
 115 $(ROOTLINK) :   $(ROOTPROG)
 116                 $(RM) $@; $(LN) $(ROOTPROG) $@
 117 
 118 clean:
 119                 $(RM) $(OBJS) $(CLEANFILES)
 120 
 121 lint :          lint_SRCS
 122 
 123 strip:
 124                 $(STRIP) $(PROG)
 125 
 126 include         ../Makefile.targ