OpenJPEG version 1.1
[openjpeg.git] / Makefile
1 # Linux makefile for OpenJPEG
2
3 VER_MAJOR = 1
4 VER_MINOR = 0.0
5
6 SRCS = ./libopenjpeg/bio.c ./libopenjpeg/cio.c ./libopenjpeg/dwt.c ./libopenjpeg/event.c ./libopenjpeg/fix.c ./libopenjpeg/image.c ./libopenjpeg/int.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 INSTALLDIR = /usr/lib
15
16 # Converts cr/lf to just lf
17 DOS2UNIX = dos2unix
18
19 COMPILERFLAGS = -O3
20 LIBRARIES = -lstdc++
21
22 MODULES = $(SRCS:.c=.o)
23 CFLAGS = $(COMPILERFLAGS) $(INCLUDE)
24
25 TARGET  = openjpeg
26 STATICLIB = lib$(TARGET).a
27 SHAREDLIB = lib$(TARGET)-$(VER_MAJOR).$(VER_MINOR).so
28 LIBNAME = lib$(TARGET).so.$(VER_MAJOR)
29
30
31
32 default: all
33
34 all: dist
35
36 dist: OpenJPEG
37         cp *.a dist
38         cp *.so dist
39         cp libopenjpeg/openjpeg.h dist
40
41 dos2unix:
42         @$(DOS2UNIX) $(SRCS) $(INCLS)
43
44 OpenJPEG: $(STATICLIB) $(SHAREDLIB)
45
46 .c.o:
47         $(CC) $(CFLAGS) -c $< -o $@
48
49 $(STATICLIB): $(MODULES)
50         $(AR) r $@ $(MODULES)
51
52 $(SHAREDLIB): $(MODULES)
53         $(CC) -s -shared -Wl,-soname,$(LIBNAME) -o $@ $(MODULES) $(LIBRARIES)
54
55 install:
56         install -m 644 -o root -g root $(STATICLIB) $(INSTALLDIR)
57         install -m 755 -o root -g root $(SHAREDLIB) $(INSTALLDIR)
58         ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(LIBNAME)
59         ldconfig
60
61 clean:
62         rm -f core dist/*.* u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB) $(LIBNAME)
63
64 osx:
65         make -f Makefile.osx
66
67 osxinstall:
68         make -f Makefile.osx install