# Makefile for gawk (GNU awk) using EMX/gcc 
#
# This makefile is designed to work within the limits of the DOS
# command-line length. OS/2 users can use Makefile.os2, which
# has additional targets.
#


CC=gcc -O -s
O=.o
CFLAGS=-DOS2 -DMSDOS

LFLAGS=
LFLAGS2=gawk-32.def

#BIND=emxbind -u /emx/bin/emx.exe $@
BIND=

OBJ2=getid$O popen$O

AWKOBJS = main$O eval$O builtin$O msg$O iop$O io$O field$O array$O \
	node$O version$O missing$O re$O
ALLOBJS = $(AWKOBJS) awktab$O
GNUOBJS= getopt$O getopt1$O regex$O dfa$O

.SUFFIXES: $O .c .y

.c$O:
	$(CC) $(CFLAGS) -DGAWK -DHAVE_CONFIG_H -c $<

all: gawk.exe

gawk.exe: $(ALLOBJS) $(GNUOBJS) $(OBJ2)
	$(CC) -o $@ $(LFLAGS) @names2.lnk $(LFLAGS2)
	$(BIND)

$(AWKOBJS): awk.h config.h
dfa$O:	awk.h config.h dfa.h
regex$O: awk.h config.h regex.h
main$O: patchlev.h
awktab$O: awk.h awktab.c

awktab.c: awk.y
	bison -o $@ awk.y

clean:
	rm -f *.o core awk.output gmon.out make.out y.output

.PHONY: test
test:
	@echo Both dmake and GNU make require modifications to test/Makefile,
	@echo but here we go...
	cd test && $(MAKE) -k
