KDU_GLIBS =
# KDU_GLIBS += -static -static-libgcc # Uncomment this to get a static build

CC = g++

INCLUDES = -I../../coresys/common -I../args -I../image -I../compressed_io
C_OPT = -O -Wall -Wno-uninitialized $(KDU_GLIBS)
CFLAGS = $(INCLUDES) $(C_OPT)

BIN_DIR = ../../bin
LIB_DIR = ../../lib

all :: kdu_compress kdu_expand kdu_transcoder simple_example_c simple_example_d

kdu_compress :: args.o image_in.o palette.o jp2.o roi_sources.o ../kdu_compress/kdu_compress.cpp $(LIB_DIR)/libkdu.a
	$(CC) $(CFLAGS) ../kdu_compress/kdu_compress.cpp \
	      args.o image_in.o palette.o jp2.o \
	      roi_sources.o $(LIB_DIR)/libkdu.a \
	      -o $(BIN_DIR)/kdu_compress -lm

kdu_expand :: args.o image_out.o jp2.o ../kdu_expand/kdu_expand.cpp $(LIB_DIR)/libkdu.a
	$(CC) $(CFLAGS) ../kdu_expand/kdu_expand.cpp \
	      args.o image_out.o jp2.o $(LIB_DIR)/libkdu.a \
	      -o $(BIN_DIR)/kdu_expand -lm

kdu_transcoder :: args.o jp2.o ../kdu_transcode/kdu_transcode.cpp $(LIB_DIR)/libkdu.a
	$(CC) $(CFLAGS) ../kdu_transcode/kdu_transcode.cpp \
	      args.o jp2.o $(LIB_DIR)/libkdu.a \
	      -o $(BIN_DIR)/kdu_transcode -lm

simple_example_c :: ../simple_example/simple_example_c.cpp $(LIB_DIR)/libkdu.a
	$(CC) $(CFLAGS) ../simple_example/simple_example_c.cpp \
	      $(LIB_DIR)/libkdu.a \
	      -o $(BIN_DIR)/simple_example_c -lm

simple_example_d :: ../simple_example/simple_example_d.cpp $(LIB_DIR)/libkdu.a
	$(CC) $(CFLAGS) ../simple_example/simple_example_d.cpp \
	      $(LIB_DIR)/libkdu.a \
	      -o $(BIN_DIR)/simple_example_d -lm

args.o :: ../args/args.cpp
	$(CC) $(CFLAGS) -c ../args/args.cpp \
	      -o args.o

image_in.o :: ../image/image_in.cpp
	$(CC) $(CFLAGS) -c ../image/image_in.cpp \
	      -o image_in.o

image_out.o :: ../image/image_out.cpp
	$(CC) $(CFLAGS) -c ../image/image_out.cpp \
	      -o image_out.o

palette.o :: ../image/palette.cpp
	$(CC) $(CFLAGS) -c ../image/palette.cpp \
	      -o palette.o

jp2.o :: ../jp2/jp2.cpp
	$(CC) $(CFLAGS) -c ../jp2/jp2.cpp \
	      -o jp2.o

roi_sources.o :: ../kdu_compress/roi_sources.cpp
	$(CC) $(CFLAGS) -c ../kdu_compress/roi_sources.cpp \
	      -o roi_sources.o
