# Makefile for GNU DIFF with emx+gcc 0.9 or newer for OS/2 2.x or DOS

# default target
default:
	@echo "Available targets: os2 dos-emx dos-pmodew"

os2:
	$(MAKE) diff.exe diff3.exe gnuregex.dll \
	CC="gcc -Zomf -O" OUT="-o ./" O=.obj REGEX=regex.lib \
	LFLAGS="-s -Zstack 512 -Zcrtdll" DLFLAGS="-s -Zdll -Zcrtdll"
dos-emx:
	$(MAKE) diff.exe CC="gcc -O -s" OUT="-o ./" O=.o REGEX=regex.o
dos-pmodew:
	$(MAKE) diff.exe CC="wcl386 -zq -s -Zp1 -bt=dos4g" \
	LFLAGS="-k0x40000 -x -l=pmodew" OUT="-Fe=" O=.obj REGEX=regex.obj

CFLAGS= -I. -DUSG -DOS2 -DHAVE_CONFIG_H

DIFF =	diff$O analyze$O io$O context$O ed$O normal$O util$O dir$O \
	fnmatch$O ifdef$O side$O cmpbuf$O getopt$O getopt1$O version$O
DIFF3 =	diff3$O getopt$O getopt1$O version$O
SDIFF =	sdiff$O getopt$O getopt1$O version$O
CMP =	cmp$O error$O xmalloc$O cmpbuf$O getopt$O getopt1$O version$O
DLL =	regex$O

.SUFFIXES: .c $O

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

all: $(DYNLIB) diff.exe diff3.exe sdiff.exe cmp.exe

diff.exe: $(DIFF) $(REGEX)
	$(CC) $(DIFF) $(REGEX) $(OUT)$@ $(LFLAGS)

diff3.exe: $(DIFF3)
	$(CC) $(DIFF3) -o $@ $(LFLAGS)

sdiff.exe: $(SDIFF) 
	$(CC) $(SDIFF) -o $@ $(LFLAGS)

cmp.exe: $(CMP) 
	$(CC) $(CMP) -o $@ $(LFLAGS)

gnuregex.dll: gnuregex.def $(DLL)
	$(CC) $(DLL) -o $@ gnuregex.def $(DLFLAGS)

regex.lib: gnuregex.def
	emximp -o $@ gnuregex.def

$(DIFF): diff.h

context$O diff$O: regex.h

clean:
	rm -f *.o *.obj *.lib
