# Makefile for pbm tools.
#
# Copyright (C) 1988 by Jef Poskanzer.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation for any purpose and without fee is hereby granted, provided
# that the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation.  This software is provided "as is" without express or
# implied warranty.


# Valid options:
#   OS_BSD      Set this if your system is BSD 4.2 or later.
#   OS_SYSV     Set this if your system is System V.
OPTIONS	=	-DOS_BSD


CC      =	cc
CFLAGS  =	-O $(OPTIONS)
LDFLAGS =	-s
LDLIBS =	libpbm.o

.SUFFIXES:	.1 .5 .cat
.1.cat:
		nroff -h -man $< > $@
.5.cat:
		nroff -h -man $< > $@

all:		brushtopbm brushtopbm.cat cbmtopbm cbmtopbm.cat \
		giftopbm giftopbm.cat icontopbm icontopbm.cat \
		macptopbm macptopbm.cat pbm.cat pbmcatlr pbmcatlr.cat \
		pbmcattb pbmcattb.cat pbmcrop pbmcrop.cat \
		pbmcut pbmcut.cat pbmenlarge pbmenlarge.cat \
		pbmfliplr pbmfliplr.cat pbmfliptb pbmfliptb.cat \
		pbminvert pbminvert.cat pbmmake pbmmake.cat \
		pbmpaste pbmpaste.cat pbmtoascii pbmtoascii.cat \
		pbmtocbm pbmtocbm.cat pbmtoicon pbmtoicon.cat \
		pbmtolj pbmtolj.cat pbmtomacp pbmtomacp.cat \
		pbmtops pbmtops.cat pbmtoptx pbmtoptx.cat \
		pbmtorast pbmtorast.cat pbmtox10bm pbmtox10bm.cat \
		pbmtox10wd pbmtox10wd.cat pbmtoxbm pbmtoxbm.cat \
		pbmtoxwd pbmtoxwd.cat pbmtrnspos pbmtrnspos.cat \
		rasttopbm rasttopbm.cat xbmtopbm xbmtopbm.cat \
		xwdtopbm xwdtopbm.cat xxxtopbm xxxtopbm.cat

# Rule for plain programs.
brushtopbm cbmtopbm giftopbm icontopbm macptopbm pbmcatlr pbmcattb \
pbmcrop pbmcut pbmenlarge pbmfliplr pbmfliptb pbminvert pbmmake \
pbmpaste pbmtoascii pbmtocbm pbmtoicon pbmtolj pbmtomacp pbmtops \
pbmtoptx pbmtox10bm pbmtox10wd pbmtoxbm pbmtoxwd pbmtrnspos xbmtopbm xwdtopbm \
xxxtopbm:	pbm.h libpbm.o
		$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $@.c $(LDLIBS)

# Rule for pixrect-dependent programs.
pbmtorast rasttopbm:	pbm.h libpbm.o
		$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $@.c $(LDLIBS) -lpixrect

libpbm.o:	pbm.h libpbm.c
		$(CC) $(CFLAGS) -c libpbm.c

# Other dependencies.
brushtopbm:	brushtopbm.c
cbmtopbm:	cbmtopbm.c
giftopbm:	giftopbm.c
icontopbm:	icontopbm.c
macptopbm:	macptopbm.c macp.h
pbmcatlr:	pbmcatlr.c
pbmcattb:	pbmcattb.c
pbmcrop:	pbmcrop.c
pbmcut:		pbmcut.c
pbmenlarge:	pbmenlarge.c
pbmfliplr:	pbmfliplr.c
pbmfliptb:	pbmfliptb.c
pbminvert:	pbminvert.c
pbmmake:	pbmmake.c
pbmpaste:	pbmpaste.c
pbmtoascii:	pbmtoascii.c
pbmtocbm:	pbmtocbm.c
pbmtoicon:	pbmtoicon.c
pbmtolj:	pbmtolj.c
pbmtomacp:	pbmtomacp.c macp.h
pbmtops:	pbmtops.c
pbmtoptx:	pbmtoptx.c
pbmtorast:	pbmtorast.c
pbmtox10bm:	pbmtox10bm.c
pbmtoxbm:	pbmtoxbm.c
pbmtox10wd:	pbmtox10wd.c x10wd.h
pbmtoxwd:	pbmtoxwd.c x11wd.h
pbmtrnspos:	pbmtrnspos.c
rasttopbm:	rasttopbm.c
xbmtopbm:	xbmtopbm.c
xwdtopbm:	xwdtopbm.c x11wd.h x10wd.h
xxxtopbm:	xxxtopbm.c

clean:
		-rm -f *.o *.cat pbm.shar* core
		-rm -f brushtopbm cbmtopbm giftopbm icontopbm macptopbm
		-rm -f pbmcatlr pbmcattb pbmcrop pbmcut pbmenlarge
		-rm -f pbmfliplr pbmfliptb pbminvert pbmmake pbmpaste
		-rm -f pbmtoascii pbmtocbm pbmtoicon pbmtolj pbmtomacp
		-rm -f pbmtops pbmtoptx pbmtorast pbmtox10bm pbmtoxbm
		-rm -f pbmtox10wd pbmtoxwd pbmtrnspos rasttopbm
		-rm -f xbmtopbm xwdtopbm xxxtopbm

shar:		pbm.shar
pbm.shar:	pbm.shar1 pbm.shar2 pbm.shar3 pbm.shar4 pbm.shar5 pbm.shar6

pbm.shar1:	README FORMATS Makefile cbmtopbm.c cbmtopbm.1 icontopbm.c \
		icontopbm.1 macptopbm.c macptopbm.1 rasttopbm.c \
		rasttopbm.1
		shar -v -c -p X README FORMATS Makefile cbmtopbm.c cbmtopbm.1 icontopbm.c icontopbm.1 macptopbm.c macptopbm.1 rasttopbm.c rasttopbm.1 > $@

pbm.shar2:	xbmtopbm.c xbmtopbm.1 xwdtopbm.c xwdtopbm.1 pbmtocbm.c \
		pbmtocbm.1 pbmtoicon.c pbmtoicon.1 pbmtops.c pbmtops.1 \
		pbmtoptx.c pbmtoptx.1
		shar -v -c -p X xbmtopbm.c xbmtopbm.1 xwdtopbm.c xwdtopbm.1 pbmtocbm.c pbmtocbm.1 pbmtoicon.c pbmtoicon.1 pbmtops.c pbmtops.1 pbmtoptx.c pbmtoptx.1 > $@

pbm.shar3:	pbmtorast.c pbmtorast.1 pbmtoxbm.c pbmtoxbm.1 pbmtox10bm.c \
		pbmtox10bm.1 pbmtoascii.c pbmtoascii.1 pbmcatlr.c \
		pbmcatlr.1 pbmcattb.c pbmcattb.1 pbmfliplr.c pbmfliplr.1 \
		pbmfliptb.c pbmfliptb.1
		shar -v -c -p X pbmtorast.c pbmtorast.1 pbmtoxbm.c pbmtoxbm.1 pbmtox10bm.c pbmtox10bm.1 pbmtoascii.c pbmtoascii.1 pbmcatlr.c pbmcatlr.1 pbmcattb.c pbmcattb.1 pbmfliplr.c pbmfliplr.1 pbmfliptb.c pbmfliptb.1 > $@

pbm.shar4:	pbminvert.c pbminvert.1 pbmcrop.c pbmcrop.1 pbmtrnspos.c \
		pbmtrnspos.1 pbmcut.c pbmcut.1 pbmpaste.c pbmpaste.1 \
		xxxtopbm.c xxxtopbm.1 pbmenlarge.c pbmenlarge.1 pbmmake.c \
		pbmmake.1
		shar -v -c -p X pbminvert.c pbminvert.1 pbmcrop.c pbmcrop.1 pbmtrnspos.c pbmtrnspos.1 pbmcut.c pbmcut.1 pbmpaste.c pbmpaste.1 xxxtopbm.c xxxtopbm.1 pbmenlarge.c pbmenlarge.1 pbmmake.c pbmmake.1 > $@

pbm.shar5:	pbmtolj.c pbmtolj.1 pbmtomacp.c pbmtomacp.1 pbmtox10wd.c \
		pbmtox10wd.1 pbmtoxwd.c pbmtoxwd.1 brushtopbm.c \
		brushtopbm.1 libpbm.c
		shar -v -c -p X pbmtolj.c pbmtolj.1 pbmtomacp.c pbmtomacp.1 pbmtox10wd.c pbmtox10wd.1 pbmtoxwd.c pbmtoxwd.1 brushtopbm.c brushtopbm.1 libpbm.c > $@

pbm.shar6:	giftopbm.c giftopbm.1 pbm.h macp.h x10wd.h x11wd.h pbm.5 \
		bmaliases bitreverse.h
		shar -v -c -p X giftopbm.c giftopbm.1 pbm.h macp.h x10wd.h x11wd.h pbm.5 bmaliases bitreverse.h > $@
