Blame pc/Makefile

Packit Service f629e6
# Makefile for gawk (GNU awk)                                      Dec 2010
Packit Service f629e6
#
Packit Service f629e6
# - for GNU C (djgpp)         [32bit protected-mode executable for DOS]
Packit Service f629e6
# - for GNU C (emx)           [32bit executable for OS/2 or DOS or Windows32]
Packit Service f629e6
# - for GNU C (mingw32)	      [Windows32 executable for Windows 9x/NT/2K/XP/7]
Packit Service f629e6
Packit Service f629e6
# Tested with GNU make on Windows, OS/2 and DOS.
Packit Service f629e6
Packit Service f629e6
# Copyright (C) 1989-2016 Free Software Foundation, Inc.
Packit Service f629e6
Packit Service f629e6
# This Makefile is free software; the Free Software Foundation
Packit Service f629e6
# gives unlimited permission to copy and/or distribute it,
Packit Service f629e6
# with or without modifications, as long as this notice is preserved.
Packit Service f629e6
Packit Service f629e6
# This program is distributed in the hope that it will be useful,
Packit Service f629e6
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
Packit Service f629e6
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
Packit Service f629e6
# PARTICULAR PURPOSE.
Packit Service f629e6
Packit Service f629e6
default:
Packit Service f629e6
	@echo "Enter $(MAK) target "
Packit Service f629e6
	@echo " where 'target' is chosen from                          "
Packit Service f629e6
	@echo "  djgpp ... DOS 32-bit exe [GNU C, Delorie, v2]         "
Packit Service f629e6
	@echo "  djgpp-mpfr . Like djgpp, but with MPFR                "
Packit Service f629e6
	@echo "   [You will need to have GNU MPFR library installed.]  "
Packit Service f629e6
	@echo "  djgpp-readline . Like djgpp, but with readline        "
Packit Service f629e6
	@echo "   [You will need to have GNU readline library installed.] "
Packit Service f629e6
	@echo "  djgpp-readline-mpfr . djgpp with readline and MPFR    "
Packit Service f629e6
	@echo "  emx ..... OS/2 32-bit exe [emx/gcc; uses emxlibc.dll] "
Packit Service f629e6
	@echo "  emxnt ... NT exe [emx/gcc with RSXNT]                 "
Packit Service f629e6
	@echo "  emxbnd .. OS/2 and DOS 32-bit exe [emx/gcc]           "
Packit Service f629e6
	@echo "  mingw32 . Windows32 exe [Mingw32 GNU C]               "
Packit Service f629e6
	@echo "  mingw32-readline . Like mingw32, but with readline    "
Packit Service f629e6
	@echo "   [You will need to have GNU readline library installed.] "
Packit Service f629e6
	@echo "  mingw32-mpfr . Like mingw32, but with MPFR            "
Packit Service f629e6
	@echo "   [You will need to have GNU MPFR library installed.]  "
Packit Service f629e6
	@echo "  mingw32-readline-mpfr . mingw32 with readline and MPFR "
Packit Service f629e6
	@echo "  ----------------------------------------------------- "
Packit Service f629e6
	@echo "  test .... Perform tests (see README_d/README.pc)      "
Packit Service f629e6
	@echo "  install . Install gawk under $(prefix)/               "
Packit Service f629e6
	@echo "  doc ..... Create documentation                        "
Packit Service f629e6
Packit Service f629e6
# Support dropped in 4.0
Packit Service f629e6
# - for DJGPP v1.x            [DOS 32bit protected-mode executable]
Packit Service f629e6
# - for MS-Visual C/C++ 4.x   [Windows32 executable for Windows 9x/NT]
Packit Service f629e6
# - for Microsoft C 7         [16bit ececutable for DOS]
Packit Service f629e6
# - for Microsoft C 6.00A     [16bit executable for OS/2 or DOS]
Packit Service f629e6
#	@echo "  djgppv1 . DOS 32-bit exe [GNU C, Delorie, v1]         "
Packit Service f629e6
#	@echo "  msc ..... DOS exe [Microsoft C 7 & 8 (AKA 1.52)]      "
Packit Service f629e6
#	@echo "  msc6 .... DOS exe [Microsoft C 6.00a]                 "
Packit Service f629e6
#	@echo "  msc6os2 . OS/2 exe [Microsoft C 6.00a]                "
Packit Service f629e6
#	@echo "  msc6bnd . OS/2 and DOS exe [Microsoft C 6.00a]        "
Packit Service f629e6
#	@echo "  vcWin32 . Windows32 exe [Microsoft Visual C]          "
Packit Service f629e6
# Support dropped in 3.0
Packit Service f629e6
# - for Microsoft C 5.1       [16bit executable for OS/2 or DOS]
Packit Service f629e6
#	@echo "  msc51     DOS exe [Microsoft C 5.1]                   "
Packit Service f629e6
#	@echo "  msc51bnd  OS/2 and DOS exe [Microsoft C 5.1]          "
Packit Service f629e6
Packit Service f629e6
#======================= Configuration ==================================
Packit Service f629e6
RSPFILE = gawk.rsp
Packit Service f629e6
#
Packit Service f629e6
# Choose method for passing arguments to the linker.
Packit Service f629e6
#
Packit Service f629e6
# If compiling under OS/2 or if make can pass long lines
Packit Service f629e6
#LDRSP = $(GAWKOBJS)
Packit Service f629e6
#LNKRSP = $(LDRSP)
Packit Service f629e6
#
Packit Service f629e6
# else use brain-dead approach (emxbnd will need 'tr').
Packit Service f629e6
RSP = $(RSPFILE)
Packit Service f629e6
LDRSP = @$(RSP)
Packit Service f629e6
LNKRSP = $(LDRSP)
Packit Service f629e6
#------------------------------------------------------------------------
Packit Service f629e6
# Some makes do not define MAKE (and ndmake does not allow a define).
Packit Service f629e6
# Define MAK to be your make command.
Packit Service f629e6
#MAKE = dmake
Packit Service f629e6
MAK = $(MAKE) $(MAKEFILE)
Packit Service f629e6
#MAK = $(MAKE)
Packit Service f629e6
#MAKEFILE = -f Makefile
Packit Service f629e6
#MAK = make45 $(MAKEFILE)
Packit Service f629e6
#------------------------------------------------------------------------
Packit Service f629e6
# Define the base directory for the install. "make install" will install
Packit Service f629e6
# in bin, lib/awk, man, and info under $(prefix)/. Most likely, you should
Packit Service f629e6
# edit config.h so that $(prefix)/lib/awk appears as part of DEFPATH.
Packit Service f629e6
#prefix =
Packit Service f629e6
prefix = c:/gnu
Packit Service f629e6
pkgdatadir = $(prefix)/lib/awk
Packit Service f629e6
pkgextensiondir = $(prefix)/lib/gawk
Packit Service f629e6
DEFLIBPATH = "\"$(pkgextensiondir)\""
Packit Service f629e6
LOCALEDIR="\"$(prefix)/share/locale\""
Packit Service f629e6
SHLIBEXT = "\"dll\""
Packit Service f629e6
infodir = $(prefix)/share/info
Packit Service f629e6
mandir = $(prefix)/share/man
Packit Service f629e6
#
Packit Service f629e6
# Define the install method. Method 1 is Unix-like (and requires cat
Packit Service f629e6
# and cp); method 2 uses gawk and batch files.
Packit Service f629e6
install = 1
Packit Service f629e6
#------------------------------------------------------------------------
Packit Service f629e6
# To work around command-line length problems, this makefile assumes
Packit Service f629e6
# that $($X) can be expanded.
Packit Service f629e6
DO_LNK = $($(LNK))
Packit Service f629e6
DO_BIND= $($(BIND))
Packit Service f629e6
#------------------------------------------------------------------------
Packit Service f629e6
# To allow Make find files in the support subdirectory.
Packit Service f629e6
VPATH = .;./support
Packit Service f629e6
#========================================================================
Packit Service f629e6
# End of general configuration. Some platform-specific configuration
Packit Service f629e6
# notes appear below.
Packit Service f629e6
Packit Service f629e6
#========================================================================
Packit Service f629e6
#========================== DJGPP =======================================
Packit Service f629e6
#========================================================================
Packit Service f629e6
Packit Service f629e6
ifneq ($(DJGPP),)
Packit Service f629e6
prefix = /dev/env/DJDIR
Packit Service f629e6
pkgdatadir = $(prefix)/share/awk
Packit Service f629e6
SHLIBEXT = "\"dxe\""
Packit Service f629e6
endif
Packit Service f629e6
LDJG = $(CC) $(LF) -o gawk.exe $(LDRSP) $(LF2)
Packit Service f629e6
BDJG = stubify -g awk.exe | stubedit awk.exe runfile=gawk
Packit Service f629e6
Packit Service f629e6
djgpp:
Packit Service f629e6
	$(MAK) all \
Packit Service f629e6
	CC=gcc O=.o CF=-O2 \
Packit Service f629e6
	LNK=LDJG LF=-s LF2=-lm \
Packit Service f629e6
	BIND=BDJG
Packit Service f629e6
Packit Service f629e6
djgpp-debug:
Packit Service f629e6
	$(MAK) all \
Packit Service f629e6
	CC=gcc O=.o CF='-O2 -g' \
Packit Service f629e6
	LNK=LDJG LF2=-lm \
Packit Service f629e6
	BIND=BDJG
Packit Service f629e6
Packit Service f629e6
djgpp-mpfr:
Packit Service f629e6
	$(MAK) all \
Packit Service f629e6
	CC=gcc O=.o CF='-O2 -DHAVE_MPFR' \
Packit Service f629e6
	LNK=LDJG LF=-s LF2="-lmpfr -lgmp -lm" \
Packit Service f629e6
	BIND=BDJG
Packit Service f629e6
Packit Service f629e6
djgpp-readline:
Packit Service f629e6
	$(MAK) all \
Packit Service f629e6
	CC=gcc O=.o CF='-O2 -DHAVE_LIBREADLINE' \
Packit Service f629e6
	LNK=LDJG LF=-s LF2="-lreadline -lm" \
Packit Service f629e6
	BIND=BDJG
Packit Service f629e6
Packit Service f629e6
djgpp-readline-mpfr:
Packit Service f629e6
	$(MAK) all \
Packit Service f629e6
	CC=gcc O=.o CF='-O2 -DHAVE_LIBREADLINE -DHAVE_MPFR' \
Packit Service f629e6
	LNK=LDJG LF=-s LF2="-lreadline -lmpfr -lgmp -lm" \
Packit Service f629e6
	BIND=BDJG
Packit Service f629e6
Packit Service f629e6
#========================================================================
Packit Service f629e6
#========================== EMX =========================================
Packit Service f629e6
#========================================================================
Packit Service f629e6
Packit Service f629e6
# Link command for OS/2 versions.
Packit Service f629e6
LEMX = $(CC) $(LF) -o $@ $(GAWKOBJS) gawk.def -lbsd $(LF2)
Packit Service f629e6
Packit Service f629e6
# Link and bind for DOS and OS/2 versions.
Packit Service f629e6
# emx-09 needs '-p' emx option here or in EMXOPT environ var.
Packit Service f629e6
# The following works with 0.9a or newer
Packit Service f629e6
LEMXBND = $(CC) $(LF) -o gawk $(LDRSP) gawk.def -lbsd $(LF2)
Packit Service f629e6
BEMX = emxbind -bs gawk  -p
Packit Service f629e6
# The following works with 0.9c or newer
Packit Service f629e6
#LEMXBND = $(CC) $(LF) -o a.out $(LDRSP) gawk.def -lbsd $(LF2)
Packit Service f629e6
#BEMX = emxbind -bs -o $@ a.out -p
Packit Service f629e6
#BEMX = emxbind -bs /emx/bin/emx.exe a.out $@ -p
Packit Service f629e6
BEMXD = emxbind -b -o $@ a.out -p
Packit Service f629e6
Packit Service f629e6
emx:
Packit Service f629e6
	$(MAK) all \
Packit Service f629e6
	"CC=gcc -Zomf" O=.obj "CF=-O -DOS2" \
Packit Service f629e6
	LNK=LEMX "LF=-s -Zcrtdll -Zstack 512" RSP=
Packit Service f629e6
Packit Service f629e6
emxnt:
Packit Service f629e6
	$(MAK) all \
Packit Service f629e6
	"CC=gcc -Zwin32 -Zcrtdll=rsxntcs" O=.o "CF=-O -DOS2" \
Packit Service f629e6
	LNK=LEMX "LF=-s -Zstack 512" RSP=
Packit Service f629e6
Packit Service f629e6
emxbnd:
Packit Service f629e6
	$(MAK) all \
Packit Service f629e6
	CC=gcc O=.o "CF=-O -DOS2 -DMSDOS" OBJ=popen.o \
Packit Service f629e6
	LNK=LEMXBND \
Packit Service f629e6
	BIND=BEMX "P=|tr \" \" \"\n\""
Packit Service f629e6
Packit Service f629e6
emxbnd-debug:
Packit Service f629e6
	$(MAK) all \
Packit Service f629e6
	CC=gcc O=.o "CF=-g -DOS2 -DMSDOS" OBJ=popen.o \
Packit Service f629e6
	LNK=LEMXBND \
Packit Service f629e6
	BIND=BEMXD "P=|tr \" \" \"\n\""
Packit Service f629e6
Packit Service f629e6
#========================================================================
Packit Service f629e6
#========================== MINGW32 =====================================
Packit Service f629e6
#========================================================================
Packit Service f629e6
Packit Service f629e6
LMINGW32 = $(CC) $(LF) -o $@ $(GAWKOBJS) $(LF2)
Packit Service f629e6
# The following might work around command-line length limitations:
Packit Service f629e6
#LMINGW32 = $(CC) $(LF) -o $@ *.o $(LF2)
Packit Service f629e6
Packit Service f629e6
mingw32:
Packit Service f629e6
	$(MAK) all \
Packit Service f629e6
	CC=gcc O=.o CF="-D__USE_MINGW_ANSI_STDIO -O2 -gdwarf-2 -g3 -Wno-deprecated-declarations" \
Packit Service f629e6
	OBJ=popen.o LNK=LMINGW32 LF="-gdwarf-2 -g3" \
Packit Service f629e6
        LF2="-lws2_32 -lmsvcp60" RSP=
Packit Service f629e6
Packit Service f629e6
mingw32-readline:
Packit Service f629e6
	$(MAK) all \
Packit Service f629e6
	CC=gcc O=.o \
Packit Service f629e6
	CF="-D__USE_MINGW_ANSI_STDIO -DHAVE_LIBREADLINE -O2 -gdwarf-2 -g3 -Wno-deprecated-declarations" \
Packit Service f629e6
	OBJ=popen.o LNK=LMINGW32 LF="-gdwarf-2 -g3" \
Packit Service f629e6
	LF2="-lreadline -lws2_32 -lmsvcp60 -Wl,--enable-auto-import" RSP=
Packit Service f629e6
Packit Service f629e6
mingw32-mpfr:
Packit Service f629e6
	$(MAK) all \
Packit Service f629e6
	CC=gcc O=.o \
Packit Service f629e6
	CF="-D__USE_MINGW_ANSI_STDIO -DHAVE_MPFR -O2 -gdwarf-2 -g3 -Wno-deprecated-declarations" \
Packit Service f629e6
	OBJ=popen.o LNK=LMINGW32 LF="-gdwarf-2 -g3" \
Packit Service f629e6
	LF2="-lmpfr -lgmp -lws2_32 -lmsvcp60 -Wl,--enable-auto-import" RSP=
Packit Service f629e6
Packit Service f629e6
mingw32-readline-mpfr:
Packit Service f629e6
	$(MAK) all \
Packit Service f629e6
	CC=gcc O=.o \
Packit Service f629e6
	CF="-D__USE_MINGW_ANSI_STDIO -DHAVE_LIBREADLINE -DHAVE_MPFR -O2 -gdwarf-2 -g3 -Wno-deprecated-declarations" \
Packit Service f629e6
	OBJ=popen.o LNK=LMINGW32 LF="-gdwarf-2 -g3" \
Packit Service f629e6
	LF2="-lmpfr -lgmp -lreadline -lws2_32 -lmsvcp60 -Wl,--enable-auto-import" RSP=
Packit Service f629e6
Packit Service f629e6
# Define BIND for BINDless compiles, otherwise $($(BIND)) may break.
Packit Service f629e6
BIND = EMPTY
Packit Service f629e6
PBIND = EMPTY
Packit Service f629e6
EMPTY=
Packit Service f629e6
Packit Service f629e6
CFLAGS = $(CF) -DGAWK -I. -I./support -DHAVE_CONFIG_H -DDEFLIBPATH=$(DEFLIBPATH) -DSHLIBEXT=$(SHLIBEXT) -DLOCALEDIR=$(LOCALEDIR)
Packit Service f629e6
Packit Service f629e6
# object files
Packit Service f629e6
AWKOBJS1  = array$O builtin$O eval$O field$O floatcomp$O gawkmisc$O io$O main$O
Packit Service f629e6
AWKOBJS2  = ext$O msg$O node$O profile$O re$O replace$O version$O symbol$O
Packit Service f629e6
AWKOBJS3  = debug$O cint_array$O int_array$O mpfr$O str_array$O command$O
Packit Service f629e6
AWKOBJS4  = gawkapi$O
Packit Service f629e6
AWKOBJS = $(AWKOBJS1) $(AWKOBJS2) $(AWKOBJS3) $(AWKOBJS4)
Packit Service f629e6
Packit Service f629e6
ALLOBJS = $(AWKOBJS) awkgram$O getid$O $(OBJ)
Packit Service f629e6
Packit Service f629e6
# LIBOBJS
Packit Service f629e6
#       GNU and other stuff that gawk uses as library routines.
Packit Service f629e6
LIBOBJS= getopt$O getopt1$O dfa$O regex$O random$O localeinfo$O
Packit Service f629e6
Packit Service f629e6
GAWKOBJS = $(ALLOBJS) $(LIBOBJS)
Packit Service f629e6
Packit Service f629e6
# clear out suffixes list
Packit Service f629e6
# .SUFFIXES:
Packit Service f629e6
.SUFFIXES: .c $O
Packit Service f629e6
Packit Service f629e6
.c$O:
Packit Service f629e6
	$(CC) -c $(CFLAGS) $<
Packit Service f629e6
Packit Service f629e6
# rules to build gawk
Packit Service f629e6
all : gawk.exe
Packit Service f629e6
Packit Service f629e6
gawk.exe:: $(GAWKOBJS) $(RSP)
Packit Service f629e6
	$(DO_LNK)
Packit Service f629e6
	$(DO_BIND)
Packit Service f629e6
Packit Service f629e6
$(RSPFILE) : $(GAWKOBJS)
Packit Service f629e6
	echo $(AWKOBJS1)$P > $@
Packit Service f629e6
	echo $(AWKOBJS2)$P >> $@
Packit Service f629e6
	echo $(AWKOBJS3)$P >> $@
Packit Service f629e6
	echo $(AWKOBJS4)$P >> $@
Packit Service f629e6
	echo awkgram$O getid$O $(OBJ) $(LIBOBJS)$P >> $@
Packit Service f629e6
Packit Service f629e6
# Notes to dependencies:
Packit Service f629e6
# 1. The dependency on getopt.h is because unistd.h includes it,
Packit Service f629e6
#    and we have -I. on the compiler command line.  unistd.h is
Packit Service f629e6
#    included by awk.h.
Packit Service f629e6
# 2. custom.h is not mentioned because pc ports don't use it.
Packit Service f629e6
$(ALLOBJS) $(LIBOBJS): \
Packit Service f629e6
  awk.h regex.h config.h gettext.h mbsupport.h protos.h dfa.h getopt.h nonposix.h
Packit Service f629e6
Packit Service f629e6
builtin$O:	floatmagic.h random.h popen.h
Packit Service f629e6
Packit Service f629e6
random$O:	random.h
Packit Service f629e6
Packit Service f629e6
node$O:		floatmagic.h
Packit Service f629e6
Packit Service f629e6
command$O debug$O:	cmd.h
Packit Service f629e6
Packit Service f629e6
dfa$O:		xalloc.h
Packit Service f629e6
Packit Service f629e6
gawkmisc$O:	pc/gawkmisc.pc socket.h
Packit Service f629e6
Packit Service f629e6
getopt$O getopt1$O :	getopt_int.h
Packit Service f629e6
Packit Service f629e6
io$O:		popen.h socket.h in.h
Packit Service f629e6
Packit Service f629e6
regex$O:	regcomp.c regexec.c regex_internal.c regex_internal.h
Packit Service f629e6
Packit Service f629e6
eval$O:		interpret.h
Packit Service f629e6
Packit Service f629e6
localeinfo$O:	localeinfo.h
Packit Service f629e6
Packit Service f629e6
# A bug in ndmake requires the following rule
Packit Service f629e6
awkgram$O: awk.h awkgram.c
Packit Service f629e6
	$(CC) -c $(CFLAGS) awkgram.c
Packit Service f629e6
Packit Service f629e6
awkgram.c:	awkgram.y
Packit Service f629e6
	bison -o awkgram.tmp awkgram.y
Packit Service f629e6
	sed "s/parse error/syntax error/g" < awkgram.tmp > $@
Packit Service f629e6
Packit Service f629e6
alloca$O:	alloca.c
Packit Service f629e6
Packit Service f629e6
popen$O:	popen.h
Packit Service f629e6
Packit Service f629e6
install: install$(install)
Packit Service f629e6
	-$(MAKE) -C extension install-extensions
Packit Service f629e6
Packit Service f629e6
# Note: The line that copies gawk.exe into awk.exe should come before
Packit Service f629e6
# the line after it, which copies *awk.exe, to support the DJGPP "hard
Packit Service f629e6
# link to executables" feature, whereby awk.exe is actually a small
Packit Service f629e6
# stub that invokes gawk.exe.
Packit Service f629e6
install1:
Packit Service f629e6
	echo extproc sh $(prefix)/bin/igawk.cmd > igawk.cmd
Packit Service f629e6
	echo shift >> igawk.cmd
Packit Service f629e6
	cat pc/awklib/igawk >> igawk.cmd
Packit Service f629e6
	cat pc/awklib/igawk.bat > igawk.bat
Packit Service f629e6
	-mkdir "$(prefix)"
Packit Service f629e6
	-mkdir "$(prefix)/include"
Packit Service f629e6
	-mkdir "$(prefix)/bin"
Packit Service f629e6
	-mkdir "$(prefix)/share"
Packit Service f629e6
	-mkdir "$(prefix)/share/man"
Packit Service f629e6
	-mkdir "$(pkgdatadir)" "$(prefix)/share/man/man1" "$(prefix)/share/info"
Packit Service f629e6
	cp gawk.exe $(prefix)/bin/awk.exe
Packit Service f629e6
	cp *awk.exe igawk.bat igawk.cmd pc/awklib/igawk $(prefix)/bin
Packit Service f629e6
	cp gawkapi.h $(prefix)/include
Packit Service f629e6
	cp awklib/eg/lib/* pc/awklib/igawk.awk $(pkgdatadir)
Packit Service f629e6
	cp doc/*.1 $(prefix)/share/man/man1
Packit Service f629e6
	cp doc/*.info $(prefix)/share/info
Packit Service f629e6
	cp doc/*.png $(prefix)/share/info
Packit Service f629e6
Packit Service f629e6
# install2 is equivalent to install1, but doesn't require cp, sed, etc.
Packit Service f629e6
install2:
Packit Service f629e6
	gawk -v prefix=$(prefix) -f install.awk
Packit Service f629e6
Packit Service f629e6
install-strip: install$(install)
Packit Service f629e6
	strip "$(prefix)/bin"/*.exe
Packit Service f629e6
	-$(MAKE) -C extension $@
Packit Service f629e6
Packit Service f629e6
clean:
Packit Service f629e6
	-rm -rf gawk *.exe gawk.map *.o *.obj core a.out $(RSPFILE) $(PRSPFILE) $(DRSPFILE) $(DYN_EXP) awkgram.tmp
Packit Service f629e6
#	cd doc && $(MAKE) clean
Packit Service f629e6
#	cd test && $(MAKE) clean
Packit Service f629e6
#	cd awklib && $(MAKE) clean
Packit Service f629e6
Packit Service f629e6
awklib/eg: doc/gawk.texi
Packit Service f629e6
	rm -fr awklib/eg
Packit Service f629e6
	sh -c "cd awklib && ../gawk -f extract.awk ../doc/gawk.texi"
Packit Service f629e6
Packit Service f629e6
check:
Packit Service f629e6
	@echo "Running the tests requires several unix-like utilities.  The"
Packit Service f629e6
	@echo "recommendation is to copy pc/Makefile.tst to test/Makefile.  Under"
Packit Service f629e6
	@echo "DOS, it may be necessary to run make from the test directory."
Packit Service f629e6
# The `-k' option to make should be unnecessary if using pc/Makefile.tst.
Packit Service f629e6
	sh -c "cd test && $(MAK) -k AWK=../gawk.exe"
Packit Service f629e6
#	sh -c "cd test && $(MAK) AWK=../gawk.exe bigtest extra"
Packit Service f629e6
Packit Service f629e6
test:	check
Packit Service f629e6
Packit Service f629e6
# for those who have the necessary tools:
Packit Service f629e6
TAGS:
Packit Service f629e6
	etags awk.h *.y custom.h *.c *.h
Packit Service f629e6
Packit Service f629e6
tags:
Packit Service f629e6
	ctags awk.h *.y custom.h *.c *.h
Packit Service f629e6
Packit Service f629e6
#========================================================================
Packit Service f629e6
#================================= DOC ==================================
Packit Service f629e6
#========================================================================
Packit Service f629e6
Packit Service f629e6
DVIS = ./doc/gawk.dvi ./doc/gawkinet.dvi
Packit Service f629e6
PDFS = ./doc/gawk.pdf ./doc/gawkinet.pdf
Packit Service f629e6
PSS = ./doc/gawk.ps ./doc/gawkinet.ps
Packit Service f629e6
HTMLS = ./doc/gawk.html ./doc/gawkinet.html
Packit Service f629e6
INFOS = ./doc/gawk.info ./doc/gawkinet.info
Packit Service f629e6
TEXINFOS = ./doc/gawk.texi ./doc/gawkinet.texi
Packit Service f629e6
Packit Service f629e6
TEXI2DVI = texi2dvi --build-dir=./doc
Packit Service f629e6
TEXI2PDF = $(TEXI2DVI) --pdf --batch
Packit Service f629e6
DVIPS = dvips
Packit Service f629e6
MAKEINFO = makeinfo --no-split --force
Packit Service f629e6
MAKEINFOHTML = $(MAKEINFO) --html
Packit Service f629e6
Packit Service f629e6
TROFF = groff -t -Tps -U
Packit Service f629e6
#SEDME = sed -e "s/^level0 restore/level0 restore flashme 100 72 moveto (Copyright `date '+%m-%d-%y %T'`, FSF, Inc. (all)) show/" \
Packit Service f629e6
#		-e "s/^\/level0 save def/\/level0 save def 30 -48 translate/"
Packit Service f629e6
Packit Service f629e6
SEDME = sed "s/^\/level0 save def/\/level0 save def 30 -48 translate/"
Packit Service f629e6
Packit Service f629e6
SEDME2 = sed "/%%Page: 10 10/,/0 Cg EP/d"
Packit Service f629e6
Packit Service f629e6
.SUFFIXES: .dvi .html .info .pdf .ps .texi
Packit Service f629e6
Packit Service f629e6
.texi.info:
Packit Service f629e6
	$(MAKEINFO) -o $@ $<
Packit Service f629e6
Packit Service f629e6
.texi.html:
Packit Service f629e6
	$(MAKEINFOHTML) -o $@ $<
Packit Service f629e6
Packit Service f629e6
.texi.dvi:
Packit Service f629e6
	$(TEXI2DVI) -o $@ $<
Packit Service f629e6
Packit Service f629e6
.texi.pdf:
Packit Service f629e6
	$(TEXI2PDF) -o $@ $<
Packit Service f629e6
Packit Service f629e6
.dvi.ps:
Packit Service f629e6
	$(DVIPS) -o $@ $<
Packit Service f629e6
Packit Service f629e6
./doc/awkcard.tr: ./doc/awkcard.in
Packit Service f629e6
	cd doc
Packit Service f629e6
	sed "s,SRCDIR,.," < awkcard.in > awkcard.tr
Packit Service f629e6
	cd ..
Packit Service f629e6
Packit Service f629e6
./doc/awkcard.nc: export GROFF_TMPDIR ?= .
Packit Service f629e6
./doc/awkcard.nc: ./doc/macros ./doc/cardfonts ./doc/no.colors ./doc/awkcard.tr ./doc/ad.block ./doc/awkcard.in ./doc/setter.outline
Packit Service f629e6
	cd doc
Packit Service f629e6
	$(TROFF) ./macros ./cardfonts ./no.colors awkcard.tr | $(SEDME) | cat ./setter.outline - | $(SEDME2) > awkcard.ps
Packit Service f629e6
	cd ..
Packit Service f629e6
Packit Service f629e6
./doc/awkcard.ps: ./doc/awkcard.nc
Packit Service f629e6
	cd doc
Packit Service f629e6
	touch awkcard.nc
Packit Service f629e6
	cd ..
Packit Service f629e6
Packit Service f629e6
./doc/awkcard.pdf: ./doc/awkcard.ps
Packit Service f629e6
	cd doc
Packit Service f629e6
	ps2pdf ./awkcard.ps ./awkcard.pdf
Packit Service f629e6
	cd ..
Packit Service f629e6
Packit Service f629e6
doc: $(INFOS) $(DVIS) $(HTMLS) $(PSS) $(PDFS) ./doc/awkcard.ps ./doc/awkcard.pdf