blob: 6eaa5160d38b66f3b011a4e6d309ab96bad5128f (
plain)
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
89
90
91
92
93
94
95
96
97
98
99
100
101
|
-include config.mk
ABI_VERSION := 0
SONAME := libuniso.so.$(ABI_VERSION)
progs-y += uniso
INCLUDES := uniso.h
TARGETS = libuniso.a $(progs-y) $(shlibs-y) $(lualibs-y)
CFLAGS ?= -g -Wall -Werror
CFLAGS += -fPIC
CFLAGS += -I.
LDFLAGS += -L.
prefix ?= /usr
libdir = $(prefix)/lib
bindir = $(prefix)/bin
includedir= $(prefix)/include
INSTALLDIR := install -d
INSTALL := install
PKG_CONFIG ?= pkg-config
LUA_LIBS ?= $(shell $(PKG_CONFIG) --libs lua)
LUA_CFLAGS ?= $(shell $(PKG_CONFIG) --cflags lua)
LUA_VERSION ?= 5.1
LUA_LIBDIR ?= $(prefix)/lib/lua/$(LUA_VERSION)
LUA_SHAREDIR ?= $(prefix)/share/lua/$(LUA_VERSION)
install-progs-y := $(INSTALLDIR) $(DESTDIR)$(bindir) && \
$(INSTALL) $(progs-y) $(DESTDIR)$(bindir)
install-libs-y := $(INSTALLDIR) $(DESTDIR)$(libdir) && \
$(INSTALL) libuniso.a $(DESTDIR)$(libdir)
OBJS_libuniso.a = libuniso.o
OBJS_$(SONAME) = $(OBJS_libuniso.a)
LDFLAGS_$(SONAME) = -shared -Wl,-soname,$(SONAME)
OBJS_uniso := uniso.o
LIBS_uniso = $(UNISO_LIBS)
CFLAGS_lua-uniso.o = $(LUA_CFLAGS)
OBJS_uniso.so = lua-uniso.o
LIBS_uniso.so = $(UNISO_LIBS) $(LUA_LIBS)
LDFLAGS_uniso.so = -shared
ifneq ($(ENABLE_SHARED),)
shlibs-y += $(SONAME) libuniso.so
install-shlibs-y := $(INSTALLDIR) $(DESTDIR)$(libdir) && \
$(INSTALL) $(SONAME) $(DESTDIR)$(libdir) && \
ln -sf $(SONAME) $(DESTDIR)$(libdir)/libuniso.so
UNISO_LIBS = -luniso
else
UNISO_LIBS = libuniso.a
endif
ifneq ($(ENABLE_LUA),)
lualibs-y += uniso.so
install-lualibs-y := $(INSTALLDIR) $(DESTDIR)$(LUA_LIBDIR) && \
$(INSTALL) uniso.so $(DESTDIR)$(LUA_LIBDIR)
endif
all: $(TARGETS)
libuniso.so:
ln -s $(SONAME) $@
$(SONAME): $(OBJS_$(SONAME)) libuniso.so
uniso: $(shlib-y)
uniso.so: $(OBJS_uniso.so) $(shlibs-y) libuniso.a
libuniso.a: $(OBJS_libuniso.a)
$(AR) rcs $@ $^
%.o: %.c
$(CC) $(CFLAGS) $(CFLAGS_$@) -c $^
uniso: $(OBJS_uniso) $(shlibs-y) libuniso.a
uniso $(SONAME) uniso.so:
$(CC) $(LDFLAGS) $(LDFLAGS_$@) -o $@ $(OBJS_$@) $(LIBS_$@)
clean:
rm -f $(TARGETS) *.o *.a *.so *.so.$(ABI_VERSION)
shared: $(SONAME)
lua: uniso.so
install: $(TARGETS) $(INCLUDES)
$(INSTALLDIR) $(DESTDIR)$(includedir)
$(INSTALL) $(INCLUDES) $(DESTDIR)$(includedir)
$(install-progs-y)
$(install-libs-y)
$(install-shlibs-y)
$(install-lualibs-y)
|