aboutsummaryrefslogtreecommitdiff
path: root/makefile
diff options
context:
space:
mode:
authorBrian Kernighan <fakeuser@fake.com>2012-12-22 10:35:39 -0500
committerBrian Kernighan <fakeuser@fake.com>2012-12-22 10:35:39 -0500
commit87b94932e6f12ad16e9fc1af1a7b5b66ae9381e2 (patch)
treee6b1ba934f3c209c03171b456b0b5c0c95ff9c0d /makefile
downloadone-true-awk-87b94932e6f12ad16e9fc1af1a7b5b66ae9381e2.tar.gz
initial commit for github
Diffstat (limited to 'makefile')
-rw-r--r--makefile96
1 files changed, 96 insertions, 0 deletions
diff --git a/makefile b/makefile
new file mode 100644
index 0000000..b2c8697
--- /dev/null
+++ b/makefile
@@ -0,0 +1,96 @@
+# /****************************************************************
+# Copyright (C) Lucent Technologies 1997
+# All Rights Reserved
+#
+# Permission to use, copy, modify, and distribute this software and
+# its documentation for any purpose and without fee is hereby
+# granted, provided that the above copyright notice appear in all
+# copies and that both that the copyright notice and this
+# permission notice and warranty disclaimer appear in supporting
+# documentation, and that the name Lucent Technologies or any of
+# its entities not be used in advertising or publicity pertaining
+# to distribution of the software without specific, written prior
+# permission.
+#
+# LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
+# IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY
+# SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
+# IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+# ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+# THIS SOFTWARE.
+# ****************************************************************/
+
+CFLAGS = -g
+CFLAGS = -O2
+CFLAGS =
+
+CC = gcc -Wall -g -Wwrite-strings
+CC = gcc -fprofile-arcs -ftest-coverage # then gcov f1.c; cat f1.c.gcov
+CC = gcc -g -Wall -pedantic
+CC = gcc -O4 -Wall -pedantic -fno-strict-aliasing
+
+YACC = bison -d -y
+YACC = yacc -d -S
+#YFLAGS = -d -S
+ # -S uses sprintf in yacc parser instead of sprint
+
+OFILES = b.o main.o parse.o proctab.o tran.o lib.o run.o lex.o
+
+SOURCE = awk.h ytab.c ytab.h proto.h awkgram.y lex.c b.c main.c \
+ maketab.c parse.c lib.c run.c tran.c proctab.c
+
+LISTING = awk.h proto.h awkgram.y lex.c b.c main.c maketab.c parse.c \
+ lib.c run.c tran.c
+
+SHIP = README LICENSE FIXES $(SOURCE) ytab[ch].bak makefile \
+ awk.1
+
+a.out: ytab.o $(OFILES)
+ $(CC) $(CFLAGS) ytab.o $(OFILES) $(ALLOC) -lm
+
+$(OFILES): awk.h ytab.h proto.h
+
+ytab.o: awk.h proto.h awkgram.y
+ $(YACC) $(YFLAGS) awkgram.y
+ mv y.tab.c ytab.c
+ mv y.tab.h ytab.h
+ $(CC) $(CFLAGS) -c ytab.c
+
+proctab.c: maketab
+ ./maketab >proctab.c
+
+maketab: ytab.h maketab.c
+ $(CC) $(CFLAGS) maketab.c -o maketab
+
+bundle:
+ @cp ytab.h ytabh.bak
+ @cp ytab.c ytabc.bak
+ @bundle $(SHIP)
+
+tar:
+ @cp ytab.h ytabh.bak
+ @cp ytab.c ytabc.bak
+ @bundle $(SHIP) >awk.shar
+ @tar cf awk.tar $(SHIP)
+ gzip awk.tar
+ ls -l awk.tar.gz
+ @zip awk.zip $(SHIP)
+ ls -l awk.zip
+
+gitadd:
+ git add README LICENSE \
+ awk.h proto.h awkgram.y lex.c b.c main.c maketab.c parse.c \
+ lib.c run.c tran.c \
+ makefile awk.1 awktest.a
+
+gitpush:
+ git remote add origin https://github.com/onetrueawk/awk.git
+ git push -u origin master
+
+names:
+ @echo $(LISTING)
+
+clean:
+ rm -f a.out *.o *.obj maketab maketab.exe *.bb *.bbg *.da *.gcov *.gcno *.gcda # proctab.c