File: Makefile.linux

package info (click to toggle)
openctm 1.0.3%2Bdfsg1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,704 kB
  • sloc: ansic: 9,241; cpp: 5,199; python: 735; makefile: 29
file content (88 lines) | stat: -rw-r--r-- 2,732 bytes parent folder | download
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