public = patch
private =
manpages = patch.man
util = Makefile

c = patch.c pch.c inp.c version.c util.c chdir.c amystat.c

obj = patch.o pch.o inp.o util.o version.o chdir.o amystat.o

lintflags = -phbvxac

addedbyconf = Makefile.old bsd config.h config.sh eunice loc pdp11 usg v7

# Amiga (Manx) specific stuff:
CFLAGS = +L -n -E150
CC = cc
libs = heapmem.o32 c32.lib
LDFLAGS = -g

# grrr
SHELL = /bin/sh

.c.o:
        $(CC) $(CFLAGS) $*.c

#all: $(public) $(private) $(util)
#        touch all

patch: $(obj)
       ln -o patch  $(LDFLAGS) $(obj) $(libs)


# won't work with csh
install: patch
        export PATH || exit 1
        - mv $(bin)/patch $(bin)/patch.old
        - if test `pwd` != $(bin); then cp $(public) $(bin); fi
        cd $(bin); chmod 755 $(public)
        - if test `pwd` != $(mansrc); then \
for page in $(manpages); do \
cp $$page $(mansrc)/`basename $$page .man`.$(manext); \
done; \
fi

clean:
        rm -f *.o *.orig core

realclean:
        rm -f patch *.o *.orig core $(addedbyconf)

# The following lint has practically everything turned on.  Unfortunately,
# you have to wade through a lot of mumbo jumbo that can't be suppressed.
# If the source file has a /*NOSTRICT*/ somewhere, ignore the lint message
# for that spot.

lint:
        lint $(lintflags) $(defs) $(c) > patch.fuzz

patch.o: config.h common.h patch.c inp.h pch.h util.h version.h
pch.o: config.h common.h pch.c pch.h util.h
inp.o: config.h common.h inp.c inp.h util.h
util.o: config.h common.h util.c util.h
version.o: config.h common.h version.c version.h patchlevel.h util.h


