# Unix makefile for the JBIG-KIT library
SHELL = /bin/sh

prefix=/dev/env/DJDIR

EXEEXT = .exe

# Select an ANSI/ISO C compiler here, GNU gcc is recommended
CC = gcc

# Options for the compiler: A high optimization level is suggested
#CFLAGS = -g -O -W -Wall -ansi -pedantic # --coverage
CFLAGS = -O2 -Wall -pedantic

all: libjbig.a tstcodec$(EXEEXT) tstcodec85$(EXEEXT)

install: libjbig.a libjbig85.a
	mkdir -p $(prefix)/include
	mkdir -p $(prefix)/lib
	/dev/env/DJDIR/bin/ginstall -c jbig_ar.h $(prefix)/include/jbig_ar.h
	/dev/env/DJDIR/bin/ginstall -c jbig.h $(prefix)/include/jbig.h
	/dev/env/DJDIR/bin/ginstall -c jbig85.h $(prefix)/include/jbig85.h
	/dev/env/DJDIR/bin/ginstall -c libjbig.a $(prefix)/lib/libjbig.a
	/dev/env/DJDIR/bin/ginstall -c libjbig85.a $(prefix)/lib/libjb85.a

tstcodec$(EXEEXT): tstcodec.o jbig.o jbig_ar.o
	$(CC) $(CFLAGS) -o tstcodec$(EXEEXT) $+

tstcodec85$(EXEEXT): tstcodec85.o jbig85.o jbig_ar.o
	$(CC) $(CFLAGS) -o tstcodec85$(EXEEXT) $+

libjbig.a: jbig.o jbig_ar.o
	rm -f libjbig.a
	ar rc libjbig.a jbig.o jbig_ar.o
	-ranlib libjbig.a

libjbig85.a: jbig85.o jbig_ar.o
	rm -f libjbig85.a
	ar rc libjbig85.a jbig85.o jbig_ar.o
	-ranlib libjbig85.a

jbig.o: jbig.c jbig.h jbig_ar.h
jbig85.o: jbig85.c jbig85.h jbig_ar.h
jbig_ar.o: jbig_ar.c jbig_ar.h
tstcodec.o: tstcodec.c jbig.h
tstcodec85.o: tstcodec85.c jbig85.h

update-po: jbig.c jbig85.c Makefile
	xgettext -ojbig.pot -k_ \
	  --copyright-holder='Markus Kuhn' \
	  --msgid-bugs-address='http://www.cl.cam.ac.uk/~mgk25/jbigkit/' \
	  --package-name jbigkit \
	jbig.c jbig85.c
	cd po && for po in *.po ; do \
	  msgmerge --update $$po ../jbig.pot ; done

analyze:
	clang --analyze *.c

test: tstcodec$(EXEEXT) tstcodec85$(EXEEXT)
	./tstcodec$(EXEEXT)
	./tstcodec85$(EXEEXT)

t82test.pbm: tstcodec$(EXEEXT)
	./tstcodec$(EXEEXT) $@

clean:
	rm -f *.o *.gcda *.gcno *.gcov *.plist *~ core gmon.out dbg_d\=??.pbm
	rm -f t82test.pbm
	rm -f tstcodec tstcodec85
