# -*- Text -*-
# Makefile for bitmap viewing programs
# (C) 1992 D P Gymer
# $Id: Makefile,v 0.3.2.0 1992/06/11 22:48:29 dpg Alpha dpg $

SHELL = /bin/sh

# User configurable variables

prefix = /usr/local
bindir = $(prefix)/bin
infodir = $(prefix)/info

INSTALL = install -g staff -m 04775
INSTALL_PROGRAM = $(INSTALL)
INSTALL_DATA = cp -r

MAKEINFO = makeinfo --no-split

INDENT = indent

MKPTYPES = mkptypes -Aex

TAR = tar cvfz
TARFILE = dpg-view.tar.Z
TMP = /usr/tmp
TARDIR = dpg-view

CC = gcc
# -finline-functions _should_ be implied by -Ox with x>1
CFLAGS = -O6 -finline-functions -Wall
# Define USE_STATUS_BAR if you want image readers to do so. Note that
# this means the image disappears as soon as a key is pressed or the
# image is interrupted, as opposed to the old behaviour, which was to
# keep the last image on the screen until the next one was ready to be
# plotted.
CPPFLAGS = -DUSE_STATUS_BAR
LDFLAGS = -s
LDLIBS = -lvga

# End of user configurable variables

.PRECIOUS : pretty proto.h
.PHONY : all doc install clean realclean tar

PROGRAMS = dpg-view
INFOS = dpg-view.info

# Prototypable sources
PSOURCES = dither.c main.c read-degas.c read-gif.c read-pnm.c read-uxf.c read.c view-vga.c
# Indentable sources
ISOURCES = $(PSOURCES) view.h
# All sources
SOURCES = $(ISOURCES) proto.h dpg-view.tex

TARFILES = $(SOURCES) $(INFOS) Makefile COPYING README INSTALL ChangeLog .indent.pro

all : $(PROGRAMS)

dpg-view : dither.o main.o read-degas.o read-gif.o read-pnm.o read-uxf.o read.o view-vga.o
	$(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS)

doc : $(INFOS)

dpg-view.info : dpg-view.tex
	$(MAKEINFO) $?

proto : $(PSOURCES)
	(for prog in $^; do $(MKPTYPES) $$prog; done) > proto.h

pretty : $(ISOURCES)
	(for prog in $?; do $(INDENT) $$prog; rm $$prog.BAK; done)
	touch pretty

install : $(PROGRAMS) $(INFOS)
	(for prog in $(PROGRAMS); do $(INSTALL_PROGRAM) $$prog $(bindir); done)
	(for info in $(INFOS); do $(INSTALL_DATA) $$info $(infodir)/`basename $$info .info`; done)

clean :
	rm -f *.o *~

realclean : clean
	rm -f $(PROGRAMS) pretty

tar : $(TARFILE)
$(TARFILE) : $(TARFILES)
	mkdir $(TMP)/$(TARDIR)
	cp $^ $(TMP)/$(TARDIR)
	(cd $(TMP); rm -f $(TMP)/$(TARFILE); $(TAR) $(TARFILE) $(TARDIR))
	mv $(TMP)/$(TARFILE) .
	rm -rf $(TMP)/$(TARDIR)

# Dependanices (generated by gcc -MM)
dither.o : dither.c view.h proto.h 
main.o : main.c view.h proto.h 
read-pnm.o : read-pnm.c view.h proto.h 
read.o : read.c view.h proto.h 
view-vga.o : view-vga.c view.h proto.h 
