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
|
all: lua-5.1-try lua-5.2-try
install: lua-5.1-try-install lua-5.2-try-install
# find appropriate Lua libraries
LUA51_PKG := $(shell (pkg-config --exists lua5.1 && echo lua5.1) || \
(pkg-config --exists lua-5.1 && echo lua-5.1))
ifneq ($(LUA51_PKG),)
LUA51_INC := $(shell pkg-config --cflags $(LUA51_PKG))
LUA51_LIB := $(shell pkg-config --libs $(LUA51_PKG))
ifeq ($(LOCAL),)
LUA51_LMOD_INST := $(shell pkg-config --variable=INSTALL_LMOD $(LUA51_PKG))
LUA51_CMOD_INST := $(shell pkg-config --variable=INSTALL_CMOD $(LUA51_PKG))
else
LUA51_LMOD_INST := /usr/local/share/lua/5.1
LUA51_CMOD_INST := /usr/local/lib/lua/5.1
endif
lua-5.1-try: lua-5.1
lua-5.1-try-install: lua-5.1-install
else
lua-5.1-try:
@echo Lua 5.1 could not be found, so luxio was not built for it.
lua-5.1-try-install:
@echo Lua 5.1 could not be found, so luxio was not installed for it.
endif
LUA52_PKG := $(shell (pkg-config --exists lua5.2 && echo lua5.2) || \
(pkg-config --exists lua-5.2 && echo lua-5.2))
ifneq ($(LUA52_PKG),)
LUA52_INC := $(shell pkg-config --cflags $(LUA52_PKG))
LUA52_LIB := $(shell pkg-config --libs $(LUA52_PKG))
ifeq ($(LOCAL),)
LUA52_LMOD_INST := $(shell pkg-config --variable=INSTALL_LMOD $(LUA52_PKG))
LUA52_CMOD_INST := $(shell pkg-config --variable=INSTALL_CMOD $(LUA52_PKG))
else
LUA52_LMOD_INST := /usr/local/share/lua/5.2
LUA52_CMOD_INST := /usr/local/lib/lua/5.2
endif
lua-5.2-try: lua-5.2
lua-5.2-try-install: lua-5.2-install
else
lua-5.2-try:
@echo Lua 5.2 could not be found, so luxio was not built for it.
lua-5.2-try-install:
@echo Lua 5.2 could not be found, so luxio was not installed for it.
endif
CFLAGS ?= -O2 -Wall
CC ?= gcc
INSTALL := /usr/bin/install
LUALIBS := $(patsubst %,luxio/%.lua, \
event simple subprocess)
clean:
$(RM) *.so *.o luxio_constants.h
luxio_constants.h: luxio_constants.h.in const-proc.lua
./const-proc.lua < $^ > $@
lua-5.1: luxio-5.1.so
ln -s -f luxio-5.1.so luxio.so
lua-5.1-install: lua-5.1
$(INSTALL) -d $(DESTDIR)$(LUA51_CMOD_INST)
$(INSTALL) -m 755 luxio-5.1.so $(DESTDIR)$(LUA51_CMOD_INST)/luxio.so
$(INSTALL) -d $(DESTDIR)$(LUA51_LMOD_INST)/luxio
$(INSTALL) -m 644 $(LUALIBS) $(DESTDIR)$(LUA51_LMOD_INST)/luxio/
luxio-5.1.so: luxio-5.1.o
$(CC) -shared -Wl,--no-as-needed -o luxio-5.1.so $(LUA51_LIB) -lrt $^
lua-5.2: luxio-5.2.so
ln -s -f luxio-5.2.so luxio.so
lua-5.2-install: lua-5.2
$(INSTALL) -d $(DESTDIR)$(LUA52_CMOD_INST)
$(INSTALL) -m 755 luxio-5.2.so $(DESTDIR)$(LUA52_CMOD_INST)/luxio.so
$(INSTALL) -d $(DESTDIR)$(LUA52_LMOD_INST)/luxio
$(INSTALL) -m 644 $(LUALIBS) $(DESTDIR)$(LUA52_LMOD_INST)/luxio/
luxio-5.2.so: luxio-5.2.o
$(CC) -shared -Wl,--no-as-needed -o luxio-5.2.so $(LUA52_LIB) -lrt $^
luxio-5.1.o: luxio.c luxio_constants.h
$(CC) $(CFLAGS) -fPIC $(LUA51_INC) -c $< -o $@
luxio-5.2.o: luxio.c luxio_constants.h
$(CC) $(CFLAGS) -fPIC $(LUA52_INC) -c $< -o $@
|