# Makefile for GNU DIFF
# Copyright (C) 1988, 1989 Free Software Foundation, Inc.

# This file is part of GNU DIFF.

# GNU DIFF is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 1, or (at your option)
# any later version.
# 
# GNU DIFF is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with GNU DIFF; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.


# You can compile this with ordinary cc as well,
# but gcc makes it faster.
# Also, gcc supports -O and -g together.
CC=cc 
CCFLAGS = /DEBUG
LDFLAGS = /exe\=ccs\:[rich.exe]unixdiff
LIBS=
OUTPUT_OPTION=
INSTALL = !

.c.obj:
	cc $(CCFLAGS) $*.c

# On system V, enable these three lines:
# CFLAGS = -g -DUSG
# LIBS = -lPW
# INSTALL = cp
# (If you compile with GCC, you don't need to define LIBS.)
# And, depending on the names and contents of your header files,
# add either -DHAVE_NDIR or -DHAVE_DIRECT or both to CFLAGS.
# Add -DHAVE_NDIR to CFLAGS if your system used ndir.h instead of dirent.h
# Add -DHAVE_DIRECT to CFLAGS if your system uses 'struct direct' instead of
# 'struct dirent' (this is the case at least with one add-on ndir library).

bindir=
prefix=

# All source files
srcs=diff.c analyze.c io.c context.c ed.c normal.c ifdef.c util.c dir.c \
	version.c diff.h regex.c regex.h limits.h diff3.c \
	getopt.c getopt1.c getopt.h

# Object files for diff only.

objs= diff.obj analyze.obj io.obj context.obj \
   ed.obj normal.obj util.obj dir.obj \
   regex.obj ifdef.obj version.obj \
   getopt.obj getopt1.obj

obj_link = diff.obj,analyze.obj,io.obj,context.obj,\
	ed.obj,normal.obj,util.obj,dir.obj,\
	regex.obj,ifdef.obj,version.obj,\
	getopt.obj,getopt1.obj

tapefiles = $(srcs) README diagmeet.note Makefile COPYING ChangeLog

all: diff 

# diff3

diff3: diff3.obj
	$(CC) -o diff3 $(CCFLAGS) $(LDFLAGS) diff3.obj $(LIBS)

diff: $(objs)
	link $(LDFLAGS) $(obj_link)
	pp [-.exe]
	pp

$(objs): diff.h

context.obj diff.obj: regex.h

diff3.obj: diff3.c
	$(CC) -c $(CCFLAGS) -DDIFF_PROGRAM=\"$(bindir)/diff\" diff3.c \
	$(OUTPUT_OPTION)

clean:
	rm -f *.obj diff diff3 diff.tar diff.tar.Z

install: install-diff install-diff3

install-diff: $(prefix)$(bindir)/diff

$(prefix)$(bindir)/diff: diff
	$(INSTALL) diff $(prefix)$(bindir)/diff

install-diff3: $(prefix)$(bindir)/diff3

$(prefix)$(bindir)/diff3: diff3
	$(INSTALL) diff3 $(prefix)$(bindir)/diff3

#diff.tar: $(tapefiles)
#	mkdir tmp
#	mkdir tmp/diff
#	-ln $(tapefiles) tmp/diff
#	for file in $(tapefiles); do \
#		if [ ! -r tmp/diff/$$file ]; then cp $$file tmp/diff; fi \
#	done
#	cd tmp; tar cf ../diff.tar diff
#	rm -rf tmp

#diff.tar.Z: diff.tar
#	compress < diff.tar > diff.tar.Z
