1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
###############################################################################
# Product: OpenCTM
# File: Makefile.linux
# Description: Makefile for Linux systems (should work on most Un*x-like
# systems with gcc, e.g. OpenSolaris).
###############################################################################
# Copyright (c) 2009-2010 Marcus Geelnard
#
# This software is provided 'as-is', without any express or implied
# warranty. In no event will the authors be held liable for any damages
# arising from the use of this software.
#
# Permission is granted to anyone to use this software for any purpose,
# including commercial applications, and to alter it and redistribute it
# freely, subject to the following restrictions:
#
# 1. The origin of this software must not be misrepresented; you must not
# claim that you wrote the original software. If you use this software
# in a product, an acknowledgment in the product documentation would be
# appreciated but is not required.
#
# 2. Altered source versions must be plainly marked as such, and must not
# be misrepresented as being the original software.
#
# 3. This notice may not be removed or altered from any source
# distribution.
###############################################################################
LZMADIR = liblzma
CC = gcc
CFLAGS += -W -Wall -c -fPIC -std=c99 -pedantic
INCDEF = -DOPENCTM_BUILD -I$(LZMADIR) -DLZMA_PREFIX_CTM
INCDEF_LZMA = -DLZMA_PREFIX_CTM
RM = rm -f
DEPEND = $(CPP) -MM
VERSION = 1.0.3
SOVERSION = 1
LIBNAME = libopenctm.so
SONAME = $(LIBNAME).$(SOVERSION)
DYNAMICLIB = $(LIBNAME).$(VERSION)
OBJS = openctm.o \
stream.o \
compressRAW.o \
compressMG1.o \
compressMG2.o
LZMA_OBJS = Alloc.o \
LzFind.o \
LzmaDec.o \
LzmaEnc.o \
LzmaLib.o
SRCS = openctm.c \
stream.c \
compressRAW.c \
compressMG1.c \
compressMG2.c
LZMA_SRCS = $(LZMADIR)/Alloc.c \
$(LZMADIR)/LzFind.c \
$(LZMADIR)/LzmaDec.c \
$(LZMADIR)/LzmaEnc.c \
$(LZMADIR)/LzmaLib.c
.phony: all clean depend
all: $(DYNAMICLIB)
clean:
$(RM) $(DYNAMICLIB) $(SONAME) $(LIBNAME) $(OBJS) $(LZMA_OBJS)
$(DYNAMICLIB): $(OBJS) $(LZMA_OBJS)
$(CC) $(LDFLAGS) -shared -s -Wl,-soname,$(SONAME) -o $@ $(OBJS) $(LZMA_OBJS) -lm
ln -s $(DYNAMICLIB) $(SONAME)
ln -s $(DYNAMICLIB) $(LIBNAME)
%.o: %.c
$(CC) $(CPPFLAGS) $(CFLAGS) $(INCDEF) $<
%.o: $(LZMADIR)/%.c
$(CC) $(CPPFLAGS) $(CFLAGS) $(INCDEF_LZMA) $<
depend:
$(DEPEND) $(SRCS) $(LZMA_SRCS) > make.depend
-include make.depend
|