1146a1e50SDavid E. O'Brien# /**************************************************************** 2146a1e50SDavid E. O'Brien# Copyright (C) Lucent Technologies 1997 3146a1e50SDavid E. O'Brien# All Rights Reserved 4146a1e50SDavid E. O'Brien# 5146a1e50SDavid E. O'Brien# Permission to use, copy, modify, and distribute this software and 6146a1e50SDavid E. O'Brien# its documentation for any purpose and without fee is hereby 7146a1e50SDavid E. O'Brien# granted, provided that the above copyright notice appear in all 8146a1e50SDavid E. O'Brien# copies and that both that the copyright notice and this 9146a1e50SDavid E. O'Brien# permission notice and warranty disclaimer appear in supporting 10146a1e50SDavid E. O'Brien# documentation, and that the name Lucent Technologies or any of 11146a1e50SDavid E. O'Brien# its entities not be used in advertising or publicity pertaining 12146a1e50SDavid E. O'Brien# to distribution of the software without specific, written prior 13146a1e50SDavid E. O'Brien# permission. 14146a1e50SDavid E. O'Brien# 15146a1e50SDavid E. O'Brien# LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 16146a1e50SDavid E. O'Brien# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. 17146a1e50SDavid E. O'Brien# IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY 18146a1e50SDavid E. O'Brien# SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 19146a1e50SDavid E. O'Brien# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER 20146a1e50SDavid E. O'Brien# IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 21146a1e50SDavid E. O'Brien# ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF 22146a1e50SDavid E. O'Brien# THIS SOFTWARE. 23146a1e50SDavid E. O'Brien# ****************************************************************/ 24146a1e50SDavid E. O'Brien 25f39dd6a9SWarner LoshCFLAGS = -fsanitize=address -O1 -g -fno-omit-frame-pointer -fno-optimize-sibling-calls 26146a1e50SDavid E. O'BrienCFLAGS = -g 27146a1e50SDavid E. O'BrienCFLAGS = 28b5253557SWarner LoshCFLAGS = -O2 29146a1e50SDavid E. O'Brien 30b5253557SWarner Losh# compiler options 31f32a6403SWarner Losh#CC = cc -Wall -g -Wwrite-strings 32f32a6403SWarner Losh#CC = cc -O4 -Wall -pedantic -fno-strict-aliasing 33f32a6403SWarner Losh#CC = cc -fprofile-arcs -ftest-coverage # then gcov f1.c; cat f1.c.gcov 34f32a6403SWarner LoshHOSTCC = cc -g -Wall -pedantic -Wcast-qual 35b5253557SWarner LoshCC = $(HOSTCC) # change this is cross-compiling. 36addad6afSRong-En Fan 37f39dd6a9SWarner Losh# By fiat, to make our lives easier, yacc is now defined to be bison. 38f39dd6a9SWarner Losh# If you want something else, you're on your own. 39f39dd6a9SWarner LoshYACC = bison -d 40146a1e50SDavid E. O'Brien 41146a1e50SDavid E. O'BrienOFILES = b.o main.o parse.o proctab.o tran.o lib.o run.o lex.o 42146a1e50SDavid E. O'Brien 43f39dd6a9SWarner LoshSOURCE = awk.h awkgram.tab.c awkgram.tab.h proto.h awkgram.y lex.c b.c main.c \ 441b11b783SRuslan Ermilov maketab.c parse.c lib.c run.c tran.c proctab.c 45146a1e50SDavid E. O'Brien 46813da98dSDavid E. O'BrienLISTING = awk.h proto.h awkgram.y lex.c b.c main.c maketab.c parse.c \ 471b11b783SRuslan Ermilov lib.c run.c tran.c 48146a1e50SDavid E. O'Brien 49f39dd6a9SWarner LoshSHIP = README LICENSE FIXES $(SOURCE) awkgram.tab.[ch].bak makefile \ 501b11b783SRuslan Ermilov awk.1 51146a1e50SDavid E. O'Brien 52f39dd6a9SWarner Losha.out: awkgram.tab.o $(OFILES) 53f39dd6a9SWarner Losh $(CC) $(CFLAGS) awkgram.tab.o $(OFILES) $(ALLOC) -lm 54146a1e50SDavid E. O'Brien 55f39dd6a9SWarner Losh$(OFILES): awk.h awkgram.tab.h proto.h 56146a1e50SDavid E. O'Brien 57f39dd6a9SWarner Loshawkgram.tab.c awkgram.tab.h: awk.h proto.h awkgram.y 58146a1e50SDavid E. O'Brien $(YACC) $(YFLAGS) awkgram.y 59146a1e50SDavid E. O'Brien 60146a1e50SDavid E. O'Brienproctab.c: maketab 61f39dd6a9SWarner Losh ./maketab awkgram.tab.h >proctab.c 62146a1e50SDavid E. O'Brien 63f39dd6a9SWarner Loshmaketab: awkgram.tab.h maketab.c 64b5253557SWarner Losh $(HOSTCC) $(CFLAGS) maketab.c -o maketab 65146a1e50SDavid E. O'Brien 66146a1e50SDavid E. O'Brienbundle: 67f39dd6a9SWarner Losh @cp awkgram.tab.h awkgram.tab.h.bak 68f39dd6a9SWarner Losh @cp awkgram.tab.c awkgram.tab.c.bak 69146a1e50SDavid E. O'Brien @bundle $(SHIP) 70146a1e50SDavid E. O'Brien 71146a1e50SDavid E. O'Brientar: 72f39dd6a9SWarner Losh @cp awkgram.tab.h awkgram.tab.h.bak 73f39dd6a9SWarner Losh @cp awkgram.tab.c awkgram.tab.c.bak 74146a1e50SDavid E. O'Brien @bundle $(SHIP) >awk.shar 75146a1e50SDavid E. O'Brien @tar cf awk.tar $(SHIP) 76146a1e50SDavid E. O'Brien gzip awk.tar 77146a1e50SDavid E. O'Brien ls -l awk.tar.gz 78146a1e50SDavid E. O'Brien @zip awk.zip $(SHIP) 79146a1e50SDavid E. O'Brien ls -l awk.zip 80146a1e50SDavid E. O'Brien 81b5253557SWarner Loshgitadd: 82b5253557SWarner Losh git add README LICENSE FIXES \ 83b5253557SWarner Losh awk.h proto.h awkgram.y lex.c b.c main.c maketab.c parse.c \ 84b5253557SWarner Losh lib.c run.c tran.c \ 85f39dd6a9SWarner Losh makefile awk.1 testdir 86b5253557SWarner Losh 87b5253557SWarner Loshgitpush: 88b5253557SWarner Losh # only do this once: 89b5253557SWarner Losh # git remote add origin https://github.com/onetrueawk/awk.git 90b5253557SWarner Losh git push -u origin master 91b5253557SWarner Losh 92146a1e50SDavid E. O'Briennames: 93146a1e50SDavid E. O'Brien @echo $(LISTING) 94146a1e50SDavid E. O'Brien 95f39dd6a9SWarner Loshtest check: 96f39dd6a9SWarner Losh ./REGRESS 97f39dd6a9SWarner Losh 98f39dd6a9SWarner Loshclean: testclean 99addad6afSRong-En Fan rm -f a.out *.o *.obj maketab maketab.exe *.bb *.bbg *.da *.gcov *.gcno *.gcda # proctab.c 100b5253557SWarner Losh 101f39dd6a9SWarner Loshcleaner: testclean 102f39dd6a9SWarner Losh rm -f a.out *.o *.obj maketab maketab.exe *.bb *.bbg *.da *.gcov *.gcno *.gcda proctab.c awkgram.tab.* 103f39dd6a9SWarner Losh 104f39dd6a9SWarner Losh# This is a bit of a band-aid until we can invest some more time 105f39dd6a9SWarner Losh# in the test suite. 106f39dd6a9SWarner Loshtestclean: 107f39dd6a9SWarner Losh cd testdir; rm -fr arnold-fixes beebe devnull echo foo* \ 108f39dd6a9SWarner Losh glop glop1 glop2 lilly.diff tempbig tempsmall time 109f39dd6a9SWarner Losh 110f39dd6a9SWarner Losh# For the habits of GNU maintainers: 111f39dd6a9SWarner Loshdistclean: cleaner 112