Line 944:Memory release of img.comps[i].data when NO_PACKETS_DECODING is not defined
[openjpeg.git] / codec / Makefile
1 # $Id$
2 #
3 # makefile for OpenJPEG codec
4
5 OPENJPEG_DIR = ../libopenjpeg
6
7 ifndef DEBUG
8   LDFLAGS = -s -lm
9 else
10   LDFLAGS = -lm
11 endif
12
13 CFLAGS = -Wall -O3 -fno-strength-reduce -fomit-frame-pointer -I$(OPENJPEG_DIR)
14
15 OBJ_DIR_W32 = obj.w32
16 BIN_DIR_W32 = bin.w32
17 LIB_DIR_W32 = $(OPENJPEG_DIR)/lib.w32
18
19 ifdef MINGW32
20   CC = i386-mingw32-gcc
21   CFLAGS += -DDONT_HAVE_GETOPT
22   OBJ_DIR = $(OBJ_DIR_W32)
23   BIN_DIR = $(BIN_DIR_W32)
24   LIB_DIR = lib.w32
25   all:  $(BIN_DIR) $(OBJ_DIR) $(LIB_DIR) \
26         $(addprefix $(BIN_DIR)/,j2k_to_image.exe image_to_j2k.exe)
27 else
28   CC = gcc
29   OBJ_DIR = obj
30   BIN_DIR = bin
31   LIB_DIR = lib
32   all:  $(BIN_DIR) $(OBJ_DIR) $(LIB_DIR) \
33         $(addprefix $(BIN_DIR)/,j2k_to_image image_to_j2k)
34 endif
35
36 ifdef DYNAMIC
37   ifdef MINGW32
38     LIB_OPENJPEG = $(LIB_DIR)/libopenjpeg.dll
39     LDFLAGS += -L$(LIB_DIR) -lopenjpeg
40   else
41     LIB_OPENJPEG = $(OPENJPEG_DIR)/$(LIB_DIR)/libopenjpeg.so
42     LDFLAGS += -L$(OPENJPEG_DIR)/$(LIB_DIR) -lopenjpeg
43   endif
44 else
45   LIB_OPENJPEG = $(OPENJPEG_DIR)/$(LIB_DIR)/libopenjpeg.a
46   LDFLAGS += $(LIB_OPENJPEG)
47 endif
48
49 $(BIN_DIR):
50         mkdir $(BIN_DIR)
51
52 $(OBJ_DIR):
53         mkdir $(OBJ_DIR)
54
55 $(LIB_DIR):     
56         mkdir $(LIB_DIR)
57
58 $(LIB_DIR)/libopenjpeg.dll: $(OPENJPEG_DIR)/$(LIB_DIR)/libopenjpeg.dll
59         ln -sf ../$< $@
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
69
70 $(OBJ_DIR)/%.o:
71         $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
72
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
77
78 J2I_OBJS = $(addprefix $(OBJ_DIR)/,j2k_to_image.o)
79 I2J_OBJS = $(addprefix $(OBJ_DIR)/,image_to_j2k.o convert.o)
80
81 $(BIN_DIR)/j2k_to_image:        $(J2I_OBJS) $(LIB_OPENJPEG)
82         ${CC} -o $@  $(J2I_OBJS) ${LDFLAGS} 
83
84 $(BIN_DIR)/image_to_j2k:        $(I2J_OBJS) $(LIB_OPENJPEG)
85         ${CC} -o $@  $(I2J_OBJS) ${LDFLAGS} 
86
87 $(BIN_DIR)/j2k_to_image.exe:    $(J2I_OBJS) $(LIB_OPENJPEG)
88         ${CC} -o $@  $(J2I_OBJS) ${LDFLAGS} 
89
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
92
93 clean:
94         rm -f $(BIN_DIR_W32)/* $(BIN_DIR)/* $(OBJ_DIR_W32)/* $(OBJ_DIR)/*