3 # makefile for OpenJPEG codec
5 OPENJPEG_DIR = ../libopenjpeg
13 CFLAGS = -Wall -O3 -fno-strength-reduce -fomit-frame-pointer -I$(OPENJPEG_DIR)
17 LIB_DIR_W32 = $(OPENJPEG_DIR)/lib.w32
21 CFLAGS += -DDONT_HAVE_GETOPT
22 OBJ_DIR = $(OBJ_DIR_W32)
23 BIN_DIR = $(BIN_DIR_W32)
25 all: $(BIN_DIR) $(OBJ_DIR) $(LIB_DIR) \
26 $(addprefix $(BIN_DIR)/,j2k_to_image.exe image_to_j2k.exe)
32 all: $(BIN_DIR) $(OBJ_DIR) $(LIB_DIR) \
33 $(addprefix $(BIN_DIR)/,j2k_to_image image_to_j2k)
38 LIB_OPENJPEG = $(LIB_DIR)/libopenjpeg.dll
39 LDFLAGS += -L$(LIB_DIR) -lopenjpeg
41 LIB_OPENJPEG = $(OPENJPEG_DIR)/$(LIB_DIR)/libopenjpeg.so
42 LDFLAGS += -L$(OPENJPEG_DIR)/$(LIB_DIR) -lopenjpeg
45 LIB_OPENJPEG = $(OPENJPEG_DIR)/$(LIB_DIR)/libopenjpeg.a
46 LDFLAGS += $(LIB_OPENJPEG)
58 $(LIB_DIR)/libopenjpeg.dll: $(OPENJPEG_DIR)/$(LIB_DIR)/libopenjpeg.dll
60 $(OPENJPEG_DIR)/$(LIB_DIR)/libopenjpeg.dll:
61 cd $(OPENJPEG_DIR) && \
62 $(MAKE) $(OBJ_DIR) $(LIB_DIR) $(LIB_DIR)/libopenjpeg.dll
63 $(OPENJPEG_DIR)/$(LIB_DIR)/libopenjpeg.a:
64 cd $(OPENJPEG_DIR) && \
65 $(MAKE) $(OBJ_DIR) $(LIB_DIR) $(LIB_DIR)/libopenjpeg.a
66 $(OPENJPEG_DIR)/$(LIB_DIR)/libopenjpeg.so:
67 cd $(OPENJPEG_DIR) && \
68 $(MAKE) $(LIB_DIR) $(LIB_DIR)/libopenjpeg.so
71 $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
73 $(OBJ_DIR)/getopt.o: compat/getopt.c
74 $(OBJ_DIR)/convert.o: convert.c
75 $(OBJ_DIR)/j2k_to_image.o: j2k_to_image.c
76 $(OBJ_DIR)/image_to_j2k.o: image_to_j2k.c convert.h
78 J2I_OBJS = $(addprefix $(OBJ_DIR)/,j2k_to_image.o)
79 I2J_OBJS = $(addprefix $(OBJ_DIR)/,image_to_j2k.o convert.o)
81 $(BIN_DIR)/j2k_to_image: $(J2I_OBJS) $(LIB_OPENJPEG)
82 ${CC} -o $@ $(J2I_OBJS) ${LDFLAGS}
84 $(BIN_DIR)/image_to_j2k: $(I2J_OBJS) $(LIB_OPENJPEG)
85 ${CC} -o $@ $(I2J_OBJS) ${LDFLAGS}
87 $(BIN_DIR)/j2k_to_image.exe: $(J2I_OBJS) $(LIB_OPENJPEG)
88 ${CC} -o $@ $(J2I_OBJS) ${LDFLAGS}
90 $(BIN_DIR)/image_to_j2k.exe: $(I2J_OBJS) $(LIB_OPENJPEG) $(OBJ_DIR)/getopt.o
91 ${CC} -o $@ $(I2J_OBJS) ${LDFLAGS} $(OBJ_DIR)/getopt.o
94 rm -f $(BIN_DIR_W32)/* $(BIN_DIR)/* $(OBJ_DIR_W32)/* $(OBJ_DIR)/*