#
# Set BINDIR to where you want the binaries to go.
#
BINDIR= /usr/public/sun4/bin

#
# Set MANDIR to where you want the man pages to go.
#
MANDIR= /usr/public/share/man/man1

#
# Select your favorite compiler and compilation flags here.
#
#CC = cc
CC = gcc
CFLAGS= -I. -O2
#CFLAGS= +O3  -I.
#CFLAGS= -O2 -DDEBUG

#
# You shouldn't have to modify anything below this point.
#

SRC= util.c mcu.c predictor.c\
     pnmtoljpg.c huffc.c write.c pmread.c\
     ljpgtopnm.c huffd.c read.c
ENCODE_OBJ= util.o mcu.o predictor.o pnmtoljpg.o huffc.o write.o pmread.o
DECODE_OBJ= util.o mcu.o predictor.o ljpgtopnm.o huffd.o read.o

default: pnmtoljpg ljpgtopnm

pnmtoljpg: $(ENCODE_OBJ)
	$(CC) ${CFLAGS} -o $@ $(ENCODE_OBJ)

ljpgtopnm: $(DECODE_OBJ)
	$(CC) ${CFLAGS} -o $@ $(DECODE_OBJ)

install: pnmtoljpg ljpgtopnm
	cp pnmtoljpg ljpgtopnm $(BINDIR)
	chmod 555 $(BINDIR)/pnmtoljpg
	chmod 555 $(BINDIR)/ljpgtopnm
	cp pnmtoljpg.1 ljpgtopnm.1 $(MANDIR)
	chmod 444 $(MANDIR)/pnmtoljpg.1
	chmod 444 $(MANDIR)/ljpgtopnm.1

clean:
	rm -f core *.o pnmtoljpg ljpgtopnm

proto.h: $(SRC)
	mkproto $(SRC) > proto.h

tags: $(SRC)
	ctags $(SRC)

pnmtoljpg.o:	jpeg.h mcu.h pnmtoljpg.h
huffc.o:	jpeg.h mcu.h pnmtoljpg.h io.h predictor.h
write.o:	jpeg.h mcu.h io.h
pmread.o:	jpeg.h mcu.h pnmtoljpg.h
ljpgtopnm.o:	jpeg.h mcu.h
huffd.o:	jpeg.h mcu.h io.h predictor.h
read.o:		jpeg.h mcu.h io.h
util.o:		jpeg.h mcu.h
mcu.o:		jpeg.h mcu.h
predictor.c:	mcu.h
