aboutsummaryrefslogtreecommitdiffstats
path: root/atari/Makefile.st
diff options
context:
space:
mode:
Diffstat (limited to 'atari/Makefile.st')
-rw-r--r--atari/Makefile.st183
1 files changed, 111 insertions, 72 deletions
diff --git a/atari/Makefile.st b/atari/Makefile.st
index ca00b466..20664a48 100644
--- a/atari/Makefile.st
+++ b/atari/Makefile.st
@@ -9,7 +9,7 @@
# (like bash). If this is not the case you will have to edit various
# targets or perform some actions by hand.
#
-# Copyright (C) 1986, 1988-1995 the Free Software Foundation, Inc.
+# Copyright (C) 1986, 1988-1996 the Free Software Foundation, Inc.
#
# This file is part of GAWK, the GNU implementation of the
# AWK Programming Language.
@@ -29,23 +29,29 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+MAKEINFO = makeinfo --no-split
srcdir = .
# native compiler with freshly compiled gawk.ttp to fix awklib
+GAWK = gawk.ttp
CC = gcc
-GAWK=../gawk.ttp
+
# cross-compiler and gawk already installed on the system (any awk will do)
-# CC = cgcc
# GAWK = gawk
+# CC = cgcc
+
# WIDTH and EXT have to be both defined or both undefined
# WIDTH = -mshort -DINT_IS_16BIT
# EXT = 16
+
OFLAGS = -O2 -Wall -fomit-frame-pointer $(WIDTH)
LDFLAGS = $(WIDTH)
YACC = bison -y
-INSTALL = cp -p
+# xstrip -k in target gawk.ttp removes all symbols but _stksize
+# allowing for stack size manipulations without recompiling (with fixstk)
+INSTALL = xstrip -k ; cp -p
INSTALL_PROGRAM = ${INSTALL}
#INSTALL_DATA = ${INSTALL} -m 644
INSTALL_DATA = ${INSTALL}
@@ -60,14 +66,15 @@ prefix = /usr/local
binprefix =
manprefix =
-bindir = $(exec_prefix)/bin
-libdir = $(exec_prefix)/lib
+bindir = ${exec_prefix}/bin
+libdir = ${exec_prefix}/lib
manexta = l
-mandir = $(prefix)/man$(manexta)
+mandir = ${prefix}/man/man$(manexta)
manext = .$(manexta)
-infodir = $(prefix)/info
-datadir = $(prefix)/lib/awk
-libexecdir = $(prefix)/libexec/awk
+infodir = ${prefix}/info
+#datadir = ${prefix}/share/awk
+datadir = ${prefix}/lib/awk
+libexecdir = ${exec_prefix}/lib/awk
#DEFPATH = ".:$(datadir)"
# datadir is passed to the next Makefile level and through sed
@@ -76,27 +83,42 @@ libexecdir = $(prefix)/libexec/awk
DEFPATH = ".,c:\\lib\\awk,c:\\gnu\\lib\\awk"
SHELL = /bin/sh
-CFLAGS = $(OFLAGS) -DGAWK -I. -I$(srcdir) -DHAVE_CONFIG_H
-MFLAGS = "CC=$(CC)" "CFLAGS=$(CFLAGS) $(LDFLAGS)" GAWK=$(GAWK) \
- PWCAT=pwcat.ttp GRCAT=grcat.ttp GCOM='{sub(/\":\"/, "\",\""); print}' \
- "INSTALL_PROGRAM=$(INSTALL)" "INSTALL_DATA=$(INSTALL)" \
+SHELL = /bin/sh
+#CFLAGS = -g -O
+CFLAGS = $(OFLAGS)
+COMPFLAGS = $(CFLAGS) -DGAWK -I. -I$(srcdir) -DHAVE_CONFIG_H
+
+MFLAGS = "CC=$(CC)" \
+ "CFLAGS=$(CFLAGS)" \
+ GAWK=../$(GAWK) \
+ AWK=awk \
+ PWCAT=pwcat.ttp GRCAT=grcat.ttp \
+ "GCOM='{sub(/\":\"/, \"\\\",\\\"\"); print}'" \
+ "COMPFLAGS=$(COMPFLAGS)" \
+ "LDFLAGS=$(LDFLAGS)" \
+ "INSTALL=$(INSTALL)" \
+ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
+ "INSTALL_DATA=$(INSTALL_DATA)" \
"bindir=$(bindir)" \
"libdir=$(libdir)" \
"mandir=$(mandir)" \
+ "manext=$(manext)" \
"infodir=$(infodir)" \
"datadir=$(datadir)" \
"libexecdir=$(libexecdir)"
+MMAKE = $(MAKE) $(MFLAGS)
+
# object files
AWKOBJS = array.o builtin.o eval.o field.o gawkmisc.o io.o main.o \
missing.o msg.o node.o re.o version.o
ALLOBJS = $(AWKOBJS) awktab.o
-# GNUOBJS
-# GNU stuff that gawk uses as library routines.
-GNUOBJS= getopt.o getopt1.o regex.o dfa.o $(ALLOCA)
+# LIBOBJS
+# GNU and other stuff that gawk uses as library routines.
+LIBOBJS= getopt.o getopt1.o regex.o dfa.o random.o $(ALLOCA)
# source and documentation files
SRC = array.c builtin.c eval.c field.c gawkmisc.c io.c main.c \
@@ -104,50 +126,62 @@ SRC = array.c builtin.c eval.c field.c gawkmisc.c io.c main.c \
ALLSRC= $(SRC) awktab.c
-AWKSRC= awk.h awk.y $(ALLSRC) patchlevel.h protos.h
+AWKSRC= awk.h awk.y custom.h $(ALLSRC) patchlevel.h protos.h random.h
+
+LIBSRC = alloca.c dfa.c dfa.h regex.c regex.h getopt.h getopt.c getopt1.c random.c
-GNUSRC = alloca.c dfa.c dfa.h regex.c regex.h getopt.h getopt.c getopt1.c
+COPIES = missing/system.c missing/tzset.c \
+ missing/memcmp.c missing/memcpy.c missing/memset.c \
+ missing/strncasecmp.c missing/strchr.c \
+ missing/strerror.c missing/strtod.c \
+ missing/strftime.c missing/strftime.3
-DOCS= doc/gawk.1.in doc/gawk.texi.in doc/texinfo.tex
+DOCS= doc/gawk.1 doc/gawk.texi doc/texinfo.tex
TEXFILES= doc/gawk.aux doc/gawk.cp doc/gawk.cps doc/gawk.fn doc/gawk.fns \
doc/gawk.ky doc/gawk.kys doc/gawk.pg doc/gawk.pgs doc/gawk.toc \
doc/gawk.tp doc/gawk.tps doc/gawk.vr doc/gawk.vrs
+MISC = NEWS COPYING FUTURES Makefile.in PROBLEMS README PORTS POSIX.STD \
+ configure configure.in acconfig.h configh.in ACKNOWLEDGMENT \
+ ChangeLog INSTALL LIMITATIONS install-sh mkinstalldirs aclocal.m4 \
+ stamp-h.in
+
+OTHERS= amiga doc pc atari vms README_d posix awklib
+
ALLDOC= doc/gawk.dvi $(TEXFILES) doc/gawk.info*
+MAKEFILEIN = Makefile.in awklib/Makefile.in doc/Makefile.in test/Makefile.in
+
# Release of gawk. There can be no leading or trailing white space here!
REL=3.0
-PROG=gawk.ttp
# clear out suffixes list
.SUFFIXES:
.SUFFIXES: .c .o
.c.o:
- $(CC) -c $(CFLAGS) $<
-
-# rules to build $(PROG)
-all: $(PROG) awklib/all
+ $(CC) -c $(COMPFLAGS) $<
-alldoc: all doc/all
+# rules to build gawk
+all: $(GAWK) awklib/all
-$(PROG): $(ALLOBJS) $(GNUOBJS) $(REOBJS)
- $(CC) -o $@ $(LDFLAGS) $(ALLOBJS) $(GNUOBJS) $(REOBJS) $(LIBS)
-# toglclr -fload $@
-# xstrip -k $@
+alldoc: all doc/all
+$(GAWK): $(ALLOBJS) $(LIBOBJS) $(REOBJS)
+ $(CC) -o $(GAWK) $(COMPFLAGS) $(LDFLAGS) $(ALLOBJS) $(LIBOBJS) \
+ $(REOBJS) $(LIBS)
$(ALLOBJS): awk.h dfa.h regex.h config.h custom.h
-
-$(GNUOBJS): config.h custom.h
+
+$(LIBOBJS): config.h custom.h
gawkmisc.o: $(srcdir)/atari/gawkmisc.atr
- $(CC) -c -DDEFPATH='$(DEFPATH)' $(CFLAGS) $(srcdir)/$<
+ $(CC) -c $(COMPFLAGS) -DDEFPATH='$(DEFPATH)' $(srcdir)/gawkmisc.c
# this rule needed or not - depending on your library
missing.o io.o:
- $(CC) -c $(CFLAGS) -DPIPES_SIMULATED $(srcdir)/$<
+ $(CC) -c $(COMPFLAGS) -DPIPES_SIMULATED $(srcdir)/$<
# cheat with defines to force an inclusion of a proper code
getopt.o: getopt.h
@@ -157,6 +191,8 @@ getopt.o: getopt.h
getopt1.o: getopt.h
+random.o: random.h
+
main.o: patchlevel.h
awktab.c: awk.y
@@ -167,77 +203,80 @@ awktab.c: awk.y
# VMS POSIX make won't apply the default .c.o rule to awktab.o for some reason
awktab.o: awktab.c awk.h
- $(CC) -c $(CFLAGS) $(srcdir)/awktab.c
+ $(CC) -c $(COMPFLAGS) $(srcdir)/awktab.c
alloca.o: alloca.c
-install: $(PROG)
- $(INSTALL) $(PROG) $(bindir) && chmod 755 $(bindir)/$(PROG)
- cd awklib && $(MAKE) $(MFLAGS) install
-# cd doc && $(MAKE) $(MFLAGS) install
+install: $(GAWK) info installdirs
+ $(INSTALL_PROGRAM) $(GAWK) $(bindir) && chmod 755 $(bindir)/$(GAWK)
+ cd awklib && $(MMAKE) install
+
+installdirs: mkinstalldirs
+ $(srcdir)/mkinstalldirs $(bindir) $(datadir) \
+ $(libdir) $(infodir) $(mandir) $(libexecdir)
installdoc: info
- cd doc && $(MAKE) $(MFLAGS) install
+ cd doc && $(MMAKE) install
#
#installtotal: installdirs install installdoc
-
-installdirs: mkinstalldirs
- $(srcdir)/mkinstalldirs $(bindir) $(datadir) \
- $(libdir) $(infodir) $(mandir)
-
uninstall:
- rm -f $(bindir)/$(PROG)
- cd awklib && $(MAKE) $(MFLAGS) uninstall
-# cd doc && $(MAKE) $(MFLAGS) uninstall
+ rm -f $(bindir)/$(GAWK)
+ cd awklib && $(MMAKE) uninstall
+ -rmdir $(datadir) $(libexecdir)
+# cd doc && $(MMAKE) uninstall
clean:
- rm -rf $(PROG) *.o core y.output
- cd awklib && $(MAKE) $(MFLAGS) clean
+ rm -rf $(GAWK) *.o core y.output
+ cd awklib && $(MMAKE) clean
# the following does not always make sense (when crosscompiling)
# cd test && $(MAKE) $(MFLAGS) clean
# cd doc && $(MAKE) $(MFLAGS) clean
+local-distclean:
+ rm -f Makefile *.orig *.rej */*.orig */*.rej awk.output \
+ gmon.out make.out config.h config.status config.cache \
+ config.log stamp-h *~
-distclean: clean
- rm -f Makefile *.orig *.rej */*.orig */*.rej awk.output gmon.out \
- make.out config.h config.status config.cache config.log stamp-h stamp-h.in
- cd doc && $(MAKE) $(MFLAGS) distclean
+distclean: clean local-distclean
+ cd doc && $(MMAKE) distclean
+ cd awklib && $(MMAKE) distclean
+ cd test && $(MMAKE) distclean
-mostlyclean: clean
-
-maintainer-clean: distclean
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
- rm -f awktab.c
- cd doc && $(MAKE) $(MFLAGS) maintainer-clean
- cd test && $(MAKE) $(MFLAGS) maintainer-clean
-# cd awklib && $(MAKE) $(MFLAGS) maintainer-clean
+maintainer-clean: clean local-distclean
+ @echo "This command is intended for maintainers to use; it"
+ @echo "deletes files that may require special tools to rebuild."
+ rm -f awktab.c TAGS tags
+ cd doc && $(MMAKE) maintainer-clean
+# cd test && $(MMAKE) maintainer-clean
+# cd awklib && $(MMAKE) maintainer-clean
clobber: maintainer-clean
TAGS:
etags $(AWKSRC)
+
+tags:
ctags $(AWKSRC)
-dvi: $(srcdir)/doc/gawk.texi.in
- cd doc && $(MAKE) $(MFLAGS) dvi
+dvi: $(srcdir)/doc/gawk.texi
+ cd doc && $(MMAKE) dvi
-info: $(srcdir)/doc/gawk.texi.in
- cd doc && $(MAKE) $(MFLAGS) info
+info: $(srcdir)/doc/gawk.texi
+ cd doc && $(MMAKE) info
doc/all:
- cd doc && $(MAKE) $(MFLAGS) all
+ cd doc && $(MMAKE) all
awklib/all:
- cd awklib && $(MAKE) $(MFLAGS) all
+ cd awklib && $(MMAKE) all
# to run this target you have to adjust test/Makefile quite a bit
-# in order to make it paltable to your shell
+# in order to make it palatable to your shell
#
-check: $(PROG)
- cd test; $(MAKE) -k
+check: $(GAWK)
+ cd test; $(MMAKE) -k
test: check