CC=gcc
CFLAGS=-I. -g -O
LIBS=
LDFLAGS=

DEFAULT_EDITOR_PROGRAM=ed
DIFF_PROGRAM=/vsta/bin/diff
NULL_DEVICE=/dev/null
PR_PROGRAM=/vsta/bin/pr

PROGRAMS=cmp diff diff3 sdiff
all: $(PROGRAMS)

diff_o = diff.o analyze.o cmpbuf.o dir.o io.o util.o \
	context.o ed.o ifdef.o normal.o side.o \
	fnmatch.o getopt.o getopt1.o regex.o version.o
diff: $(diff_o)
	$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(diff_o) $(LIBS)

diff3_o = diff3.o getopt.o getopt1.o version.o
diff3: $(diff3_o)
	$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(diff3_o) $(LIBS)

sdiff_o = sdiff.o getopt.o getopt1.o version.o
sdiff: $(sdiff_o)
	$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(sdiff_o) $(LIBS)

cmp_o = cmp.o cmpbuf.o error.o getopt.o getopt1.o xmalloc.o version.o
cmp: $(cmp_o)
	$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(cmp_o) $(LIBS)

cmp.o: cmp.c
	$(CC) -c $(CFLAGS) -DNULL_DEVICE=\"$(NULL_DEVICE)\" cmp.c

diff3.o: diff3.c
	$(CC) -c $(CFLAGS) -DDIFF_PROGRAM=\"$(DIFF_PROGRAM)\" diff3.c

sdiff.o: sdiff.c
	$(CC) -c $(CFLAGS) \
		-DDEFAULT_EDITOR_PROGRAM=\"$(DEFAULT_EDITOR_PROGRAM)\" \
		-DDIFF_PROGRAM=\"$(DIFF_PROGRAM)\" sdiff.c

util.o: util.c
	$(CC) -c $(CFLAGS) -DPR_PROGRAM=\"$(PR_PROGRAM)\" util.c

clean:
	rm -f *.o

clobber: clean
	rm -f $(PROGRAMS)

install: all
	strip cmp diff diff3 sdiff
	cp cmp diff diff3 sdiff /vsta/bin

# autoheader might not change config.hin.
config.hin: stamp-h.in
stamp-h.in: configure.in
	cd $(srcdir) && autoheader
	date > $(srcdir)/stamp-h.in

config.status: configure
	./config.status --recheck

# config.status might not change config.h, but it changes stamp-h.
config.h: stamp-h
stamp-h: config.hin config.status
	./config.status
Makefile: Makefile.in config.status
	./config.status

dist: $(distfiles)
	echo diffutils-`sed -e '/version_string/!d' -e 's/[^0-9]*\([0-9a-z.]*\).*/\1/' -e q version.c` > .fname
	rm -rf `cat .fname`
	mkdir `cat .fname`
	-ln $(distfiles) `cat .fname`
	for file in $(distfiles); do \
	  [ -r `cat .fname`/$$file ] || cp -p $$file `cat .fname` || exit; \
	done
	tar -chf - `cat .fname` | gzip >`cat .fname`.tar.gz
	rm -rf `cat .fname` .fname

# Prevent GNU make v3 from overflowing arg limit on SysV.
.NOEXPORT:
