113547Sjulian# /**************************************************************** 213547Sjulian# Copyright (C) Lucent Technologies 1997 335025Sjb# All Rights Reserved 413547Sjulian# 513547Sjulian# Permission to use, copy, modify, and distribute this software and 613547Sjulian# its documentation for any purpose and without fee is hereby 713547Sjulian# granted, provided that the above copyright notice appear in all 813547Sjulian# copies and that both that the copyright notice and this 913547Sjulian# permission notice and warranty disclaimer appear in supporting 1013547Sjulian# documentation, and that the name Lucent Technologies or any of 1113547Sjulian# its entities not be used in advertising or publicity pertaining 1213547Sjulian# to distribution of the software without specific, written prior 1313547Sjulian# permission. 1413547Sjulian# 1513547Sjulian# LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 1613547Sjulian# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. 1713547Sjulian# IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY 1813547Sjulian# SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 1913547Sjulian# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER 2013547Sjulian# IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 2113547Sjulian# ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF 2213547Sjulian# THIS SOFTWARE. 2313547Sjulian# ****************************************************************/ 2413547Sjulian 2513547SjulianCFLAGS = -fsanitize=address -O1 -g -fno-omit-frame-pointer -fno-optimize-sibling-calls 2613547SjulianCFLAGS = -g 2713547SjulianCFLAGS = 2813547SjulianCFLAGS = -O2 2913547Sjulian 3013547Sjulian# compiler options 3113547Sjulian#CC = cc -Wall -g -Wwrite-strings 3213547Sjulian#CC = cc -O4 -Wall -pedantic -fno-strict-aliasing 3350473Speter#CC = cc -fprofile-arcs -ftest-coverage # then gcov f1.c; cat f1.c.gcov 3413547SjulianHOSTCC = cc -g -Wall -pedantic -Wcast-qual 3513547SjulianCC = $(HOSTCC) # change this is cross-compiling. 3613547Sjulian 3713547Sjulian# By fiat, to make our lives easier, yacc is now defined to be bison. 3813547Sjulian# If you want something else, you're on your own. 3913547SjulianYACC = bison -d 4013547Sjulian 4113547SjulianOFILES = b.o main.o parse.o proctab.o tran.o lib.o run.o lex.o 4213547Sjulian 4313547SjulianSOURCE = awk.h awkgram.tab.c awkgram.tab.h proto.h awkgram.y lex.c b.c main.c \ 4417706Sjulian maketab.c parse.c lib.c run.c tran.c proctab.c 4517706Sjulian 4644965SjbLISTING = awk.h proto.h awkgram.y lex.c b.c main.c maketab.c parse.c \ 4713547Sjulian lib.c run.c tran.c 4813547Sjulian 4917706SjulianSHIP = README LICENSE FIXES $(SOURCE) awkgram.tab.[ch].bak makefile \ 5013547Sjulian awk.1 5117706Sjulian 5217706Sjuliana.out: awkgram.tab.o $(OFILES) 5317706Sjulian $(CC) $(CFLAGS) awkgram.tab.o $(OFILES) $(ALLOC) -lm 5417706Sjulian 5513547Sjulian$(OFILES): awk.h awkgram.tab.h proto.h 5613547Sjulian 5722315Sjulianawkgram.tab.c awkgram.tab.h: awk.h proto.h awkgram.y 5822315Sjulian $(YACC) $(YFLAGS) awkgram.y 5922315Sjulian 6022315Sjulianproctab.c: maketab 6122315Sjulian ./maketab awkgram.tab.h >proctab.c 6222315Sjulian 6322315Sjulianmaketab: awkgram.tab.h maketab.c 6422315Sjulian $(HOSTCC) $(CFLAGS) maketab.c -o maketab 6522315Sjulian 6622315Sjulianbundle: 6722315Sjulian @cp awkgram.tab.h awkgram.tab.h.bak 6822315Sjulian @cp awkgram.tab.c awkgram.tab.c.bak 6922315Sjulian @bundle $(SHIP) 7038919Salex 7138919Salextar: 7238919Salex @cp awkgram.tab.h awkgram.tab.h.bak 7338919Salex @cp awkgram.tab.c awkgram.tab.c.bak 7438919Salex @bundle $(SHIP) >awk.shar 7538919Salex @tar cf awk.tar $(SHIP) 7653812Salfred gzip awk.tar 7753812Salfred ls -l awk.tar.gz 7853812Salfred @zip awk.zip $(SHIP) 7953812Salfred ls -l awk.zip 8053812Salfred 8153812Salfredgitadd: 8253812Salfred git add README LICENSE FIXES \ 8353812Salfred awk.h proto.h awkgram.y lex.c b.c main.c maketab.c parse.c \ 8453812Salfred lib.c run.c tran.c \ 8517706Sjulian makefile awk.1 testdir 8617706Sjulian 8717706Sjuliangitpush: 8813547Sjulian # only do this once: 8917706Sjulian # git remote add origin https://github.com/onetrueawk/awk.git 9017706Sjulian git push -u origin master 9117706Sjulian 9217706Sjuliannames: 9317706Sjulian @echo $(LISTING) 9417706Sjulian 9517706Sjuliantest check: 9638919Salex ./REGRESS 9738919Salex 9813547Sjulianclean: testclean 9913547Sjulian rm -f a.out *.o *.obj maketab maketab.exe *.bb *.bbg *.da *.gcov *.gcno *.gcda # proctab.c 10017706Sjulian 10117706Sjuliancleaner: testclean 10217706Sjulian rm -f a.out *.o *.obj maketab maketab.exe *.bb *.bbg *.da *.gcov *.gcno *.gcda proctab.c awkgram.tab.* 10317706Sjulian 10417706Sjulian# This is a bit of a band-aid until we can invest some more time 10513547Sjulian# in the test suite. 10617706Sjuliantestclean: 10717706Sjulian cd testdir; rm -fr arnold-fixes beebe devnull echo foo* \ 10817706Sjulian glop glop1 glop2 lilly.diff tempbig tempsmall time 10917706Sjulian 11017706Sjulian# For the habits of GNU maintainers: 11117706Sjuliandistclean: cleaner 11217706Sjulian