blob: 3e141ae5b48aac5c49cd0967f59642fa466f9479 (
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
-include config.unix
INSTALL ?= install
all: build
# ----------------------------------------
# Base build
# ----------------------------------------
build: luarocks luarocks-admin
config.unix:
@echo Please run the "./configure" script before building.
@echo
@exit 1
config-$(LUA_VERSION).lua.in: config.unix
luarocks: config.unix config-$(LUA_VERSION).lua.in
rm -f src/luarocks/core/hardcoded.lua
echo "#!/bin/sh" > luarocks
echo "unset LUA_PATH LUA_PATH_5_2 LUA_PATH_5_3 LUA_PATH_5_4" >> luarocks
echo 'LUAROCKS_SYSCONFDIR="$(luarocksconfdir)" LUA_PATH="$(CURDIR)/src/?.lua;;" exec "$(LUA_BINDIR)/$(LUA_INTERPRETER)" "$(CURDIR)/src/bin/luarocks" --project-tree="$(CURDIR)/lua_modules" "$$@"' >> luarocks
chmod +rx ./luarocks
./luarocks init
cp config-$(LUA_VERSION).lua.in .luarocks/config-$(LUA_VERSION).lua
luarocks-admin: config.unix
rm -f src/luarocks/core/hardcoded.lua
echo "#!/bin/sh" > luarocks-admin
echo "unset LUA_PATH LUA_PATH_5_2 LUA_PATH_5_3 LUA_PATH_5_4" >> luarocks-admin
echo 'LUAROCKS_SYSCONFDIR="$(luarocksconfdir)" LUA_PATH="$(CURDIR)/src/?.lua;;" exec "$(LUA_BINDIR)/$(LUA_INTERPRETER)" "$(CURDIR)/src/bin/luarocks-admin" --project-tree="$(CURDIR)/lua_modules" "$$@"' >> luarocks-admin
chmod +rx ./luarocks-admin
# ----------------------------------------
# Regular install
# ----------------------------------------
install: all $(DESTDIR)$(prefix)/bin/luarocks $(DESTDIR)$(prefix)/bin/luarocks-admin $(DESTDIR)$(luarocksconfdir)/config-$(LUA_VERSION).lua
mkdir -p "$(DESTDIR)$(prefix)/share/lua/$(LUA_VERSION)/luarocks"
cp -a src/luarocks/* "$(DESTDIR)$(prefix)/share/lua/$(LUA_VERSION)/luarocks"
./build/luarocks: src/bin/luarocks config.unix
mkdir -p "$(@D)"
(printf '#!$(LUA_BINDIR)/$(LUA_INTERPRETER)\n'\
'package.loaded["luarocks.core.hardcoded"] = { SYSCONFDIR = [[$(luarocksconfdir)]] }\n'\
'package.path=[[$(prefix)/share/lua/$(LUA_VERSION)/?.lua;]] .. package.path\n'; \
tail -n +2 src/bin/luarocks \
)> "$@"
./build/luarocks-admin: src/bin/luarocks-admin config.unix
mkdir -p "$(@D)"
(printf '#!$(LUA_BINDIR)/$(LUA_INTERPRETER)\n'\
'package.loaded["luarocks.core.hardcoded"] = { SYSCONFDIR = [[$(luarocksconfdir)]] }\n'\
'package.path=[[$(prefix)/share/lua/$(LUA_VERSION)/?.lua;]] .. package.path\n'; \
tail -n +2 src/bin/luarocks-admin \
)> "$@"
$(DESTDIR)$(prefix)/bin/luarocks: ./build/luarocks
$(INSTALL) -D "$<" "$@"
$(DESTDIR)$(prefix)/bin/luarocks-admin: ./build/luarocks-admin
$(INSTALL) -D "$<" "$@"
$(DESTDIR)$(luarocksconfdir)/config-$(LUA_VERSION).lua: config-$(LUA_VERSION).lua.in
mkdir -p "$(DESTDIR)$(luarocksconfdir)"
cp config-$(LUA_VERSION).lua.in "$(DESTDIR)$(luarocksconfdir)/config-$(LUA_VERSION).lua"
# ----------------------------------------
# Binary build
# ----------------------------------------
BINARY_TARGET=build-binary
binary: $(BINARY_TARGET)/luarocks.exe $(BINARY_TARGET)/luarocks-admin.exe
$(BINARY_TARGET)/luarocks.exe: luarocks
LUA_PATH="$(CURDIR)/src/?.lua;;" "$(LUA_BINDIR)/$(LUA_INTERPRETER)" binary/all_in_one "src/bin/luarocks" "$(LUA_DIR)" "^src/luarocks/admin/" "$(luarocksconfdir)" $(BINARY_TARGET) $(BINARY_PLATFORM) $(BINARY_CC) $(BINARY_NM) $(BINARY_SYSROOT)
$(BINARY_TARGET)/luarocks-admin.exe: luarocks
LUA_PATH="$(CURDIR)/src/?.lua;;" "$(LUA_BINDIR)/$(LUA_INTERPRETER)" binary/all_in_one "src/bin/luarocks-admin" "$(LUA_DIR)" "^src/luarocks/cmd/" "$(luarocksconfdir)" $(BINARY_TARGET) $(BINARY_PLATFORM) $(BINARY_CC) $(BINARY_NM) $(BINARY_SYSROOT)
# ----------------------------------------
# Binary install
# ----------------------------------------
install-binary: build-binary/luarocks.exe build-binary/luarocks-admin.exe
mkdir -p "$(DESTDIR)$(prefix)/bin"
cp build-binary/luarocks.exe "$(DESTDIR)$(prefix)/bin/luarocks"
chmod +rx "$(DESTDIR)$(prefix)/bin/luarocks"
cp build-binary/luarocks-admin.exe "$(DESTDIR)$(prefix)/bin/luarocks-admin"
chmod +rx "$(DESTDIR)$(prefix)/bin/luarocks-admin"
mkdir -p "$(DESTDIR)$(prefix)/share/lua/$(LUA_VERSION)/luarocks/core"
cp -a src/luarocks/core/* "$(DESTDIR)$(prefix)/share/lua/$(LUA_VERSION)/luarocks/core"
cp -a src/luarocks/loader.lua "$(DESTDIR)$(prefix)/share/lua/$(LUA_VERSION)/luarocks/"
# ----------------------------------------
# Bootstrap install
# ----------------------------------------
bootstrap: luarocks $(DESTDIR)$(luarocksconfdir)/config-$(LUA_VERSION).lua
./luarocks make --tree="$(DESTDIR)$(ROCKS_TREE)"
# ----------------------------------------
# Windows binary build
# ----------------------------------------
windows-binary: luarocks
make -f binary/Makefile.windows windows-binary
windows-clean:
make -f binary/Makefile.windows windows-clean
# ----------------------------------------
# Clean
# ----------------------------------------
clean:
rm -f ./config.unix
rm -f ./luarocks
rm -f ./luarocks-admin
rm -rf ./build/
rm -rf build-binary
rm -rf ./.luarocks
rm -rf ./lua_modules
.PHONY: all build install binary install-binary bootstrap clean windows-binary windows-clean
|