0
|
1 |
#
|
|
2 |
# For conditions of distribution and use, see copyright notice in libmng.h
|
|
3 |
#
|
|
4 |
# makefile for libmng - THE MNG library
|
|
5 |
# this makefile is suitable for Linux ELF with gcc
|
|
6 |
#
|
|
7 |
# (this file is heavily copied from makefile.linux in the libpng package)
|
|
8 |
|
|
9 |
# compiler
|
|
10 |
CC=gcc
|
|
11 |
|
|
12 |
# default build options (this forces shared library compatibility!!)
|
|
13 |
#OPTIONS = -DMNG_BUILD_SO
|
|
14 |
OPTIONS = -DMNG_BUILD_SO -DMNG_FULL_CMS
|
|
15 |
|
|
16 |
# where "make install" puts libmng.a,libmng.so*,libmng.h,libmng_conf.h,libmng_types.h
|
|
17 |
prefix=/usr/local
|
|
18 |
|
|
19 |
# Where the zlib library and include files are located
|
|
20 |
#ZLIBLIB=../zlib
|
|
21 |
#ZLIBINC=../zlib
|
|
22 |
ZLIBLIB=/usr/local/lib
|
|
23 |
ZLIBINC=/usr/local/include
|
|
24 |
|
|
25 |
# Where the jpeg library and include files are located
|
|
26 |
#JPEGLIB=../jpgsrc
|
|
27 |
#JPEGINC=../jpgsrc
|
|
28 |
JPEGLIB=/usr/local/lib
|
|
29 |
JPEGINC=/usr/local/include
|
|
30 |
|
|
31 |
# Where the lcms library and include files are located
|
|
32 |
#LCMSLIB=../lcms/lib
|
|
33 |
#LCMSINC=../lcms/source
|
|
34 |
LCMSLIB=/usr/local/lib
|
|
35 |
LCMSINC=/usr/local/include
|
|
36 |
|
|
37 |
ALIGN=
|
|
38 |
# for i386:
|
|
39 |
#ALIGN=-malign-loops=2 -malign-functions=2
|
|
40 |
|
|
41 |
WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \
|
|
42 |
-Wmissing-declarations -Wtraditional -Wcast-align \
|
|
43 |
-Wstrict-prototypes -Wmissing-prototypes #-Wconversion
|
|
44 |
|
|
45 |
# for pgcc version 2.95.1, -O3 is buggy; don't use it.
|
|
46 |
|
|
47 |
CFLAGS=-I$(ZLIBINC) -I$(JPEGINC) -I$(LCMSINC) -Wall -O3 -funroll-loops \
|
|
48 |
$(OPTIONS) $(ALIGN) # $(WARNMORE) -g
|
|
49 |
LDFLAGS=-L. -Wl,-rpath,. \
|
|
50 |
-L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) \
|
|
51 |
-L$(JPEGLIB) -Wl,-rpath,$(JPEGLIB) \
|
|
52 |
-L$(LCMSLIB) -Wl,-rpath,$(LCMSLIB) \
|
|
53 |
-lmng -lz -ljpeg -llcms -lm
|
|
54 |
|
|
55 |
RANLIB=ranlib
|
|
56 |
#RANLIB=echo
|
|
57 |
|
|
58 |
# current version numbers
|
|
59 |
MNGMAJ = 1
|
|
60 |
MNGMIN = 1.0.9
|
|
61 |
MNGVER = $(MNGMAJ).$(MNGMIN)
|
|
62 |
|
|
63 |
INCPATH=$(prefix)/include
|
|
64 |
LIBPATH=$(prefix)/lib
|
|
65 |
|
|
66 |
OBJS = \
|
|
67 |
libmng_callback_xs.o \
|
|
68 |
libmng_chunk_io.o \
|
|
69 |
libmng_chunk_descr.o \
|
|
70 |
libmng_chunk_prc.o \
|
|
71 |
libmng_chunk_xs.o \
|
|
72 |
libmng_cms.o \
|
|
73 |
libmng_display.o \
|
|
74 |
libmng_dither.o \
|
|
75 |
libmng_error.o \
|
|
76 |
libmng_filter.o \
|
|
77 |
libmng_hlapi.o \
|
|
78 |
libmng_jpeg.o \
|
|
79 |
libmng_object_prc.o \
|
|
80 |
libmng_pixels.o \
|
|
81 |
libmng_prop_xs.o \
|
|
82 |
libmng_read.o \
|
|
83 |
libmng_trace.o \
|
|
84 |
libmng_write.o \
|
|
85 |
libmng_zlib.o
|
|
86 |
|
|
87 |
OBJSDLL = $(OBJS:.0=.pic.o)
|
|
88 |
|
|
89 |
.SUFFIXES: .c .o .pic.o
|
|
90 |
|
|
91 |
.c.pic.o:
|
|
92 |
$(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
|
|
93 |
|
|
94 |
all: libmng.a libmng.so
|
|
95 |
|
|
96 |
libmng.a: $(OBJS)
|
|
97 |
ar rc $@ $(OBJS)
|
|
98 |
$(RANLIB) $@
|
|
99 |
|
|
100 |
libmng.so: libmng.so.$(MNGMAJ)
|
|
101 |
ln -sf libmng.so.$(MNGMAJ) libmng.so
|
|
102 |
|
|
103 |
libmng.so.$(MNGMAJ): libmng.so.$(MNGVER)
|
|
104 |
ln -sf libmng.so.$(MNGVER) libmng.so.$(MNGMAJ)
|
|
105 |
|
|
106 |
libmng.so.$(MNGVER): $(OBJSDLL)
|
|
107 |
# $(CC) -shared -Wl,-soname,libmng.so.$(MNGMAJ) -o libmng.so.$(MNGVER) \
|
|
108 |
# $(OBJSDLL) -L$(ZLIBLIB) -L$(JPEGLIB) -L$(LCMSLIB) -lz -lm -lc
|
|
109 |
$(CC) -shared -Wl,-soname,libmng.so.$(MNGMAJ) -o libmng.so.$(MNGVER) \
|
|
110 |
$(OBJSDLL) -L$(ZLIBLIB) -L$(JPEGLIB) -ljpeg -L$(LCMSLIB) -llcms \
|
|
111 |
-lz -lm -lc
|
|
112 |
|
|
113 |
install: libmng.a libmng.so.$(MNGVER)
|
|
114 |
-@mkdir $(INCPATH) $(LIBPATH)
|
|
115 |
cp libmng.h libmng_conf.h libmng_types.h $(INCPATH)
|
|
116 |
chmod 644 $(INCPATH)/libmng.h $(INCPATH)/libmng_conf.h $(INCPATH)/libmng_types.h
|
|
117 |
cp libmng.a libmng.so.$(MNGVER) $(LIBPATH)
|
|
118 |
chmod 755 $(LIBPATH)/libmng.so.$(MNGVER)
|
|
119 |
-@/bin/rm -f $(LIBPATH)/libmng.so.$(MNGMAJ) $(LIBPATH)/libmng.so
|
|
120 |
(cd $(LIBPATH); ln -sf libmng.so.$(MNGVER) libmng.so.$(MNGMAJ); \
|
|
121 |
ln -sf libmng.so.$(MNGMAJ) libmng.so)
|
|
122 |
|
|
123 |
clean:
|
|
124 |
/bin/rm -f *.o libmng.a libmng.so*
|
|
125 |
|
|
126 |
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
|
127 |
|
|
128 |
libmng_hlapi.o libmng_hlapi.pic.o: libmng_hlapi.c libmng.h libmng_conf.h libmng_types.h \
|
|
129 |
libmng_data.h libmng_objects.h libmng_object_prc.h \
|
|
130 |
libmng_chunks.h libmng_memory.h libmng_error.h libmng_trace.h libmng_read.h \
|
|
131 |
libmng_write.h libmng_display.h libmng_zlib.h libmng_cms.h libmng_zlib.h
|
|
132 |
libmng_callback_xs.o libmng_callback_xs.pic.o: libmng_callback_xs.c libmng.h \
|
|
133 |
libmng_conf.h libmng_types.h libmng_data.h libmng_error.h libmng_trace.h
|
|
134 |
libmng_prop_xs.o libmng_prop_xs.pic.o: libmng_prop_xs.c libmng.h libmng_conf.h \
|
|
135 |
libmng_types.h libmng_data.h libmng_error.h libmng_trace.h libmng_cms.h
|
|
136 |
libmng_chunk_xs.o libmng_chunk_xs.pic.o: libmng_chunk_xs.c libmng.h libmng_conf.h \
|
|
137 |
libmng_types.h libmng_data.h libmng_chunks.h libmng_chunk_prc.h \
|
|
138 |
libmng_error.h libmng_trace.h
|
|
139 |
libmng_read.o libmng_read.pic.o: libmng_read.c libmng.h libmng_conf.h libmng_types.h \
|
|
140 |
libmng_data.h libmng_objects.h libmng_object_prc.h \
|
|
141 |
libmng_chunks.h libmng_chunk_prc.h libmng_chunk_io.h libmng_memory.h \
|
|
142 |
libmng_error.h libmng_trace.h libmng_read.h libmng_display.h
|
|
143 |
libmng_write.o libmng_write.pic.o: libmng_write.c libmng.h libmng_conf.h libmng_types.h \
|
|
144 |
libmng_data.h libmng_error.h libmng_trace.h libmng_write.h
|
|
145 |
libmng_display.o libmng_display.pic.o: libmng_display.c libmng.h libmng_conf.h \
|
|
146 |
libmng_types.h libmng_data.h libmng_objects.h libmng_object_prc.h libmng_memory.h \
|
|
147 |
libmng_error.h libmng_trace.h libmng_zlib.h libmng_cms.h libmng_pixels.h \
|
|
148 |
libmng_display.h
|
|
149 |
libmng_object_prc.o libmng_object_prc.pic.o: libmng_object_prc.c libmng.h libmng_conf.h \
|
|
150 |
libmng_types.h libmng_data.h libmng_objects.h libmng_object_prc.h libmng_memory.h \
|
|
151 |
libmng_error.h libmng_trace.h libmng_display.h libmng_pixels.h
|
|
152 |
libmng_chunk_descr.o libmng_chunk_descr.pic.o: libmng_chunk_descr.c libmng.h libmng_conf.h \
|
|
153 |
libmng_types.h libmng_data.h libmng_chunks.h libmng_chunk_descr.h libmng_memory.h \
|
|
154 |
libmng_chunk_prc.h libmng_error.h libmng_trace.h
|
|
155 |
libmng_chunk_prc.o libmng_chunk_prc.pic.o: libmng_chunk_prc.c libmng.h libmng_conf.h \
|
|
156 |
libmng_types.h libmng_data.h libmng_chunks.h libmng_chunk_prc.h libmng_memory.h \
|
|
157 |
libmng_error.h libmng_trace.h
|
|
158 |
libmng_chunk_io.o libmng_chunk_io.pic.o: libmng_chunk_io.c libmng.h libmng_conf.h \
|
|
159 |
libmng_types.h libmng_data.h libmng_objects.h libmng_object_prc.h \
|
|
160 |
libmng_chunks.h libmng_chunk_io.h libmng_chunk_prc.h libmng_memory.h libmng_error.h \
|
|
161 |
libmng_trace.h libmng_display.h libmng_zlib.h libmng_pixels.h
|
|
162 |
libmng_error.o libmng_error.pic.o: libmng_error.c libmng.h libmng_conf.h libmng_types.h \
|
|
163 |
libmng_data.h libmng_error.h libmng_trace.h
|
|
164 |
libmng_trace.o libmng_trace.pic.o: libmng_trace.c libmng.h libmng_conf.h libmng_types.h \
|
|
165 |
libmng_data.h libmng_error.h libmng_trace.h
|
|
166 |
libmng_pixels.o libmng_pixels.pic.o: libmng_pixels.c libmng.h libmng_conf.h libmng_types.h \
|
|
167 |
libmng_data.h libmng_objects.h libmng_memory.h libmng_error.h libmng_trace.h \
|
|
168 |
libmng_cms.h libmng_filter.h libmng_pixels.h
|
|
169 |
libmng_filter.o libmng_filter.pic.o: libmng_filter.c libmng.h libmng_conf.h libmng_types.h \
|
|
170 |
libmng_data.h libmng_error.h libmng_trace.h libmng_filter.h
|
|
171 |
libmng_dither.o libmng_dither.pic.o: libmng_dither.c libmng.h libmng_conf.h libmng_types.h \
|
|
172 |
libmng_data.h libmng_error.h libmng_trace.h libmng_dither.h
|
|
173 |
libmng_zlib.o libmng_zlib.pic.o: libmng_zlib.c libmng.h libmng_conf.h libmng_types.h \
|
|
174 |
libmng_data.h libmng_memory.h libmng_error.h libmng_trace.h libmng_pixels.h \
|
|
175 |
libmng_filter.h libmng_zlib.h
|
|
176 |
libmng_jpeg.o libmng_jpeg.pic.o: libmng_jpeg.c libmng.h libmng_conf.h libmng_types.h \
|
|
177 |
libmng_data.h libmng_memory.h libmng_error.h libmng_trace.h libmng_pixels.h libmng_jpeg.h
|
|
178 |
libmng_cms.o libmng_cms.pic.o: libmng_cms.c libmng.h libmng_conf.h libmng_types.h \
|
|
179 |
libmng_data.h libmng_objects.h libmng_error.h libmng_trace.h libmng_cms.h
|
|
180 |
|