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