Move include file that collides with system include to the correct directory (no...
[openjpeg.git] / Makefile
1 # Linux makefile for OpenJPEG
2
3 VER_MAJOR = 2
4 VER_MINOR = 1.2.0
5
6 SRCS = ./libopenjpeg/bio.c ./libopenjpeg/cio.c ./libopenjpeg/dwt.c ./libopenjpeg/event.c ./libopenjpeg/image.c ./libopenjpeg/j2k.c ./libopenjpeg/j2k_lib.c ./libopenjpeg/jp2.c ./libopenjpeg/jpt.c ./libopenjpeg/mct.c ./libopenjpeg/mqc.c ./libopenjpeg/openjpeg.c ./libopenjpeg/pi.c ./libopenjpeg/raw.c ./libopenjpeg/t1.c ./libopenjpeg/t2.c ./libopenjpeg/tcd.c ./libopenjpeg/tgt.c
7 INCLS = ./libopenjpeg/bio.h ./libopenjpeg/cio.h ./libopenjpeg/dwt.h ./libopenjpeg/event.h ./libopenjpeg/fix.h ./libopenjpeg/image.h ./libopenjpeg/int.h ./libopenjpeg/j2k.h ./libopenjpeg/j2k_lib.h ./libopenjpeg/jp2.h ./libopenjpeg/jpt.h ./libopenjpeg/mct.h ./libopenjpeg/mqc.h ./libopenjpeg/openjpeg.h ./libopenjpeg/pi.h ./libopenjpeg/raw.h ./libopenjpeg/t1.h ./libopenjpeg/t2.h ./libopenjpeg/tcd.h ./libopenjpeg/tgt.h ./libopenjpeg/opj_includes.h
8 INCLUDE = -Ilibopenjpeg
9
10 # General configuration variables:
11 CC = gcc
12 AR = ar
13
14 PREFIX = /usr
15 INSTALL_LIBDIR = $(PREFIX)/lib
16 INSTALL_INCLUDE = $(PREFIX)/include
17
18 # Converts cr/lf to just lf
19 DOS2UNIX = dos2unix
20
21 COMPILERFLAGS = -O3 -fPIC
22 LIBRARIES = -lstdc++
23
24 MODULES = $(SRCS:.c=.o)
25 CFLAGS = $(COMPILERFLAGS) $(INCLUDE)
26
27 TARGET  = openjpeg
28 STATICLIB = lib$(TARGET).a
29 SHAREDLIB = lib$(TARGET)-$(VER_MAJOR).$(VER_MINOR).so
30 LIBNAME = lib$(TARGET).so.$(VER_MAJOR)
31
32
33
34 default: all
35
36 all: OpenJPEG
37
38 dist: OpenJPEG
39         install -d dist
40         install -m 644 $(STATICLIB) dist
41         install -m 755 $(SHAREDLIB) dist
42         ln -sf $(SHAREDLIB) dist/$(LIBNAME)
43         install libopenjpeg/openjpeg.h dist
44
45 dos2unix:
46         @$(DOS2UNIX) $(SRCS) $(INCLS)
47
48 OpenJPEG: $(STATICLIB) $(SHAREDLIB)
49
50 .c.o:
51         $(CC) $(CFLAGS) -c $< -o $@
52
53 $(STATICLIB): $(MODULES)
54         $(AR) r $@ $(MODULES)
55
56 $(SHAREDLIB): $(MODULES)
57         $(CC) -s -shared -Wl,-soname,$(LIBNAME) -o $@ $(MODULES) $(LIBRARIES)
58
59 install: OpenJPEG
60         install -d '$(DESTDIR)$(INSTALL_LIBDIR)' '$(DESTDIR)$(INSTALL_INCLUDE)'
61         install -m 644 -o root -g root $(STATICLIB) '$(DESTDIR)$(INSTALL_LIBDIR)'
62         ranlib '$(DESTDIR)$(INSTALL_LIBDIR)/$(STATICLIB)'
63         install -m 755 -o root -g root $(SHAREDLIB) '$(DESTDIR)$(INSTALL_LIBDIR)'
64         ln -sf $(SHAREDLIB) '$(DESTDIR)$(INSTALL_LIBDIR)/$(LIBNAME)'
65         install -m 644 -o root -g root libopenjpeg/openjpeg.h '$(DESTDIR)$(INSTALL_INCLUDE)'
66         -ldconfig
67
68 clean:
69         rm -rf core dist/ u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB) $(LIBNAME)
70
71 osx:
72         make -f Makefile.osx
73
74 osxinstall:
75         make -f Makefile.osx install
76
77 osxclean:
78         make -f Makefile.osx clean