# Makefile for zgv and tnpic

# set BINDIR to directory for binaries, MANDIR to directory for man page,
# and JPEGDIR to directory where you have the Independant JPEG Group's
# JPEG software.
# Note you need the source to the JPEG software, or at least the
# required header files and libjpeg.a!

BINDIR = /usr/bin
MANDIR = /usr/man/man1
JPEGDIR = /usr/src/jpeg

CC = gcc
CFLAGS = -O2 -I$(JPEGDIR) -L$(JPEGDIR)
STRIP = -s

ZGV_LIBS = -lvgagl -lvga -ljpeg
TNPIC_LIBS = -ljpeg

all : zgv tnpic

ZGV_OBJS = zgv.o gifeng.o vgadisp.o usejpeg.o font.o 3deffects.o \
	handlevt.o readnbkey.o rcfile.o zgvlogopck.o helppage.o \
	readpnm.o magic.o resizepic.o

MUNGLOGO_OBJS = munglogo.o gifeng.o

# texterrors.o gives an alternative msgbox() that just uses printf().
TNPIC_OBJS = tnpic.o gifeng.o usejpeg.o writejpeg.o \
	texterrors.o resizepic.o

TMF_OBJS = tnmungfont.o

zgv : $(ZGV_OBJS)
	$(CC) $(STRIP) $(CFLAGS) -o zgv $(ZGV_OBJS) $(ZGV_LIBS)

munglogo: $(MUNGLOGO_OBJS)
	$(CC) $(STRIP) $(CFLAGS) -o munglogo $(MUNGLOGO_OBJS)

tnpic: $(TNPIC_OBJS)
	$(CC) $(STRIP) $(CFLAGS) -o tnpic $(TNPIC_OBJS) $(TNPIC_LIBS)

tnmungfont: $(TMF_OBJS)
	$(CC) $(STRIP) $(CFLAGS) -o tnmungfont $(TMF_OBJS)

install : all
	install -m 4511 zgv $(BINDIR)
	install -m 511 tnpic $(BINDIR)
	install -m 444 zgv.1 tnpic.1 $(MANDIR)

clean :
	$(RM) *.o *~ zgv tnpic tnmungfont munglogo core.*
	$(RM) zgvlogo.h tnpicfont.h

# Dependancies
3deffects.o : 3deffects.c 3deffects.h readnbkey.h zgv.h 
font.o : font.c font.h 
gifeng.o : gifeng.c zgv.h gifeng.h 
handlevt.o : handlevt.c 
helppage.o : helppage.c 3deffects.h font.h readnbkey.h handlevt.h rc_config.h \
  rcfile.h 
magic.o : magic.c magic.h 
munglogo.o : munglogo.c zgv.h gifeng.h 
rcfile.o : rcfile.c rc_config.h zgv.h 
readnbkey.o : readnbkey.c readnbkey.h 
readpnm.o : readpnm.c zgv.h rcfile.h rc_config.h 
resizepic.o : resizepic.c resizepic.h 
texterrors.o : texterrors.c 
tnmungfont.o : tnmungfont.c 
tnpic.o : tnpic.c zgv.h gifeng.h usejpeg.h resizepic.h tnpicfont.h 
usejpeg.o : usejpeg.c 3deffects.h zgv.h usejpeg.h vgadisp.h 
vgadisp.o : vgadisp.c zgv.h magic.h gifeng.h usejpeg.h readpnm.h readnbkey.h \
  handlevt.h helppage.h 3deffects.h rc_config.h rcfile.h vgadisp.h 
writejpeg.o : writejpeg.c 
zgv.o : zgv.c zgv.h gifeng.h vgadisp.h readnbkey.h font.h 3deffects.h handlevt.h \
  helppage.h rc_config.h rcfile.h usejpeg.h readpnm.h resizepic.h zgvlogopck.h 
zgvlogopck.o : zgvlogopck.c zgvlogo.h 

# more involved dependancy stuff
zgvlogo.h : munglogo zgvlogo.gif
	./munglogo
tnpicfont.h : tnmungfont tnpicfont.dat
	./tnmungfont
