CC	      = g++
#CC	      = cxx
CFLAGS	      = -I.. -I/usr/local/include -I/usr/X11/include
CPP           = g++ -E
#CPP           = cpp
EXTHDRS	      =
COMMON	      = defines.h inline.h
INSTALL	      = cp
LD	      = $(CC)
LDFLAGS	      = -L../itk
LIBS	      = -litk -ltiff -lm
MAKEFILE      = makefile
LIBOBJS       = raster.o \
                operation.o transformation.o \
                reader.o writer.o \
                tiff_reader.o tiff_writer.o \
                assign.o clone.o \
                invert.o rotate.o \
                luts.o bit_count.o
LIBRARY       = libitk.a
OBJS          = test.o
PROGRAM       = test
SHELL	      = /bin/sh

all:		$(LIBRARY) $(PROGRAM)

clean:;		@rm -f $(LIBOBJS) $(OBJS) $(LIBRARY) $(PROGRAM) core

linecount:;	@wc -l Makefile *.cpp *.h *.inl
print:;		@$(PRINT) $(HDRS) $(SRCS)

run:		$(PROGRAM)
		./$(PROGRAM)&

tar:;           @tar cf itk.tar *.cpp *.h *.inl Makefile*

$(PROGRAM):     $(OBJS) $(LIBRARY)
		@echo "Linking $(PROGRAM)"
		$(LD) $(LDFLAGS) test.o $(LIBS) -o $(PROGRAM)
		@echo "done"

$(LIBRARY):	$(LIBOBJS)
	@echo "Updating $(LIBRARY)"
	@echo $(LIBOBJS)
	@ar -r $(LIBRARY) $(LIBOBJS)

###


.SUFFIXES: .cpp .o .h .inl .pre

.cpp.o:         $*.cpp $*.h $*.inl $(COMMON)
	@echo Compiling $@
	@$(CC) -c $(CFLAGS) $<

.cpp.pre:      $*.cpp $*.h $(COMMON)
	@echo making pre-processed $@
	@$(CPP) $(CFLAGS) $< > $*.pre