# Unix makefile for the JBIG-KIT library
# $Id: Makefile,v 1.7 1998-04-11 02:26:33+01 mgk25 Rel $

#PREFIX=/usr # inherited from parent dir
#VERSION=1.2 # inherited from parent dir

INCPATH=$(PREFIX)/include
LIBPATH=$(PREFIX)/lib
BINPATH=$(PREFIX)/bin
DOCPATH=$(PREFIX)/doc/jbigkit-$(VERSION)
CYGDOCPATH=$(PREFIX)/doc/Cygwin

# Select an ANSI/ISO C compiler here, GNU gcc is recommended
CC = gcc
INSTALL = install
BASELIB=libjbig
SHAREDLIB=cygjbig1.dll
STATLIB=$(BASELIB).a
IMPLIB=$(BASELIB).dll.a
SHAREDDEF=$(BASELIB).def
LIBS=$(SHAREDLIB) $(STATLIB)
EXE=.exe

LDSHARED=gcc -shared -Wl,--enable-auto-image-base
LDEXTRA=-Wl,--out-implib=$(IMPLIB) $(SHAREDDEF)

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

OBJS = jbig.o jbig_tab.o

OBJSDLL = $(OBJS:.o=.pic.o)

.SUFFIXES:	.c .o .pic.o

%.o : %.c
	$(CC)	-c $(CFLAGS) -DJBIG_STATIC -o $@ $<

%.pic.o : %.c
	$(CC) -c $(CFLAGS) -DJBIG_DLL -o $@ $<

all: $(SHAREDLIB) $(STATLIB) tstcodec$(EXE)
	

$(STATLIB): $(OBJS)
	ar rc $@ $(OBJS)
	ranlib $@

$(SHAREDLIB): $(OBJSDLL)
	$(LDSHARED) -o $@ $(LDEXTRA) $(OBJSDLL)
	
tstcodec$(EXE): tstcodec.c jbig.c jbig.h jbig_tab.o
	$(CC) $(CFLAGS) -o tstcodec -DTEST_CODEC -DJBIG_STATIC tstcodec.c jbig.c jbig_tab.o

test: tstcodec$(EXE)
	./tstcodec

install: $(STATLIB) $(SHAREDLIB)
	-@if [ ! -d $(INCPATH) ]; then mkdir -p $(INCPATH); fi
	-@if [ ! -d $(LIBPATH) ]; then mkdir -p $(LIBPATH); fi
	-@if [ ! -d $(BINPATH) ]; then mkdir -p $(BINPATH); fi
	-@if [ ! -d $(DOCPATH) ]; then mkdir -p $(DOCPATH); fi
	$(INSTALL) -m 644 jbig.h $(INCPATH)
	$(INSTALL) -m 644 $(STATLIB) $(IMPLIB) $(LIBPATH)
	$(INSTALL) -s -m 755 $(SHAREDLIB) $(BINPATH)
	$(INSTALL) -m 644 jbig.doc $(DOCPATH)
clean:
	rm -f *.o *~ core gmon.out dbg_d\=??.pbm tstcodec$(EXE) \
	*.dll.a *.a *.dll

# DO NOT DELETE THIS LINE -- make depend depends on it.

jbig.o jbig.pic.o:	jbig.h jbig.c
tstcodec.o:				jbig.h tstcodec.c
tstcodec-stat.o:		jbig.h tstcodec.c


