source: trunk/src/3rdparty/libmng/makefiles/makefile.linux

Last change on this file was 2, checked in by Dmitry A. Kuminov, 16 years ago

Initially imported qt-all-opensource-src-4.5.1 from Trolltech.

File size: 7.0 KB
Line 
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
10CC=gcc
11
12# default build options (this forces shared library compatibility!!)
13#OPTIONS = -DMNG_BUILD_SO
14OPTIONS = -DMNG_BUILD_SO -DMNG_FULL_CMS
15
16# where "make install" puts libmng.a,libmng.so*,libmng.h,libmng_conf.h,libmng_types.h
17prefix=/usr/local
18
19# Where the zlib library and include files are located
20#ZLIBLIB=../zlib
21#ZLIBINC=../zlib
22ZLIBLIB=/usr/local/lib
23ZLIBINC=/usr/local/include
24
25# Where the jpeg library and include files are located
26#JPEGLIB=../jpgsrc
27#JPEGINC=../jpgsrc
28JPEGLIB=/usr/local/lib
29JPEGINC=/usr/local/include
30
31# Where the lcms library and include files are located
32#LCMSLIB=../lcms/lib
33#LCMSINC=../lcms/source
34LCMSLIB=/usr/local/lib
35LCMSINC=/usr/local/include
36
37ALIGN=
38# for i386:
39#ALIGN=-malign-loops=2 -malign-functions=2
40
41WARNMORE=-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
47CFLAGS=-I$(ZLIBINC) -I$(JPEGINC) -I$(LCMSINC) -Wall -O3 -funroll-loops \
48 $(OPTIONS) $(ALIGN) # $(WARNMORE) -g
49LDFLAGS=-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
55RANLIB=ranlib
56#RANLIB=echo
57
58# current version numbers
59MNGMAJ = 1
60MNGMIN = 1.0.9
61MNGVER = $(MNGMAJ).$(MNGMIN)
62
63INCPATH=$(prefix)/include
64LIBPATH=$(prefix)/lib
65
66OBJS = \
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
87OBJSDLL = $(OBJS:.0=.pic.o)
88
89.SUFFIXES: .c .o .pic.o
90
91.c.pic.o:
92 $(CC) -c $(CFLAGS) -fPIC -o $@ $*.c
93
94all: libmng.a libmng.so
95
96libmng.a: $(OBJS)
97 ar rc $@ $(OBJS)
98 $(RANLIB) $@
99
100libmng.so: libmng.so.$(MNGMAJ)
101 ln -sf libmng.so.$(MNGMAJ) libmng.so
102
103libmng.so.$(MNGMAJ): libmng.so.$(MNGVER)
104 ln -sf libmng.so.$(MNGVER) libmng.so.$(MNGMAJ)
105
106libmng.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
113install: 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
123clean:
124 /bin/rm -f *.o libmng.a libmng.so*
125
126# DO NOT DELETE THIS LINE -- make depend depends on it.
127
128libmng_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
132libmng_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
134libmng_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
136libmng_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
139libmng_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
143libmng_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
145libmng_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
149libmng_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
152libmng_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
155libmng_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
158libmng_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
162libmng_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
164libmng_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
166libmng_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
169libmng_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
171libmng_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
173libmng_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
176libmng_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
178libmng_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
Note: See TracBrowser for help on using the repository browser.