diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 96 |
1 files changed, 76 insertions, 20 deletions
@@ -12,46 +12,104 @@ | |||
12 | # Copyright (C) 2005-2009 Mike Pall. See Copyright Notice in luajit.h | 12 | # Copyright (C) 2005-2009 Mike Pall. See Copyright Notice in luajit.h |
13 | ############################################################################## | 13 | ############################################################################## |
14 | 14 | ||
15 | BASEVER= 2.0.0 | 15 | MAJVER= 2 |
16 | VERSION= 2.0.0-beta1 | 16 | MINVER= 0 |
17 | RELVER= 0 | ||
18 | PREREL= -beta2 | ||
19 | VERSION= $(MAJVER).$(MINVER).$(RELVER)$(PREREL) | ||
20 | ABIVER= 5.1 | ||
21 | NODOTABIVER= 51 | ||
17 | 22 | ||
18 | ############################################################################## | 23 | ############################################################################## |
19 | # | 24 | # |
20 | # Change the installation path as needed and modify src/luaconf.h accordingly. | 25 | # Change the installation path as needed and modify src/luaconf.h accordingly. |
21 | # Note: PREFIX must be an absolute path! | 26 | # Note: PREFIX must be an absolute path! |
22 | # | 27 | # |
23 | PREFIX= /usr/local | 28 | export PREFIX= /usr/local |
24 | ############################################################################## | 29 | ############################################################################## |
25 | 30 | ||
26 | INSTALL_BIN= $(PREFIX)/bin | 31 | DPREFIX= $(DESTDIR)$(PREFIX) |
27 | INSTALL_NAME= luajit-$(VERSION) | 32 | INSTALL_BIN= $(DPREFIX)/bin |
28 | INSTALL_T= $(INSTALL_BIN)/$(INSTALL_NAME) | 33 | INSTALL_LIB= $(DPREFIX)/lib |
29 | INSTALL_TSYM= $(INSTALL_BIN)/luajit | 34 | INSTALL_SHARE= $(DPREFIX)/share |
30 | INSTALL_INC= $(PREFIX)/include/luajit-$(BASEVER) | 35 | INSTALL_INC= $(DPREFIX)/include/luajit-$(MAJVER).$(MINVER) |
31 | INSTALL_JITLIB= $(PREFIX)/share/luajit-$(VERSION)/jit | 36 | |
32 | 37 | INSTALL_JITLIB= $(INSTALL_SHARE)/luajit-$(VERSION)/jit | |
38 | INSTALL_LMOD= $(INSTALL_SHARE)/lua/$(ABIVER) | ||
39 | INSTALL_CMOD= $(INSTALL_LIB)/lua/$(ABIVER) | ||
40 | INSTALL_MAN= $(INSTALL_SHARE)/man/man1 | ||
41 | INSTALL_PKGCONFIG= $(INSTALL_LIB)/pkgconfig | ||
42 | |||
43 | INSTALL_TNAME= luajit-$(VERSION) | ||
44 | INSTALL_TSYMNAME= luajit | ||
45 | INSTALL_ANAME= libluajit-$(ABIVER).a | ||
46 | INSTALL_SONAME= libluajit-$(ABIVER).so.$(MAJVER).$(MINVER).$(RELVER) | ||
47 | INSTALL_SOSHORT= libluajit-$(ABIVER).so | ||
48 | INSTALL_DYLIBNAME= libluajit-$(NODOTABIVER).$(MAJVER).$(MINVER).$(RELVER).dylib | ||
49 | INSTALL_DYLIBSHORT1= libluajit-$(NODOTABIVER).dylib | ||
50 | INSTALL_DYLIBSHORT2= libluajit-$(NODOTABIVER).$(MAJVER).dylib | ||
51 | INSTALL_PCNAME= luajit.pc | ||
52 | |||
53 | INSTALL_STATIC= $(INSTALL_LIB)/$(INSTALL_ANAME) | ||
54 | INSTALL_DYN= $(INSTALL_LIB)/$(INSTALL_SONAME) | ||
55 | INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_SOSHORT) | ||
56 | INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT) | ||
57 | INSTALL_T= $(INSTALL_BIN)/$(INSTALL_TNAME) | ||
58 | INSTALL_TSYM= $(INSTALL_BIN)/$(INSTALL_TSYMNAME) | ||
59 | INSTALL_PC= $(INSTALL_PKGCONFIG)/$(INSTALL_PCNAME) | ||
60 | |||
61 | INSTALL_DIRS= $(INSTALL_BIN) $(INSTALL_LIB) $(INSTALL_INC) $(INSTALL_MAN) \ | ||
62 | $(INSTALL_PKGCONFIG) $(INSTALL_JITLIB) $(INSTALL_LMOD) $(INSTALL_CMOD) | ||
63 | |||
64 | RM= rm -f | ||
33 | MKDIR= mkdir -p | 65 | MKDIR= mkdir -p |
34 | SYMLINK= ln -f -s | 66 | SYMLINK= ln -sf |
35 | INSTALL_X= install -m 0755 | 67 | INSTALL_X= install -m 0755 |
36 | INSTALL_F= install -m 0644 | 68 | INSTALL_F= install -m 0644 |
37 | 69 | LDCONFIG= ldconfig -n | |
38 | FILES_T= luajit | 70 | SED_PC= sed -e "s|^prefix=.*|prefix=$(PREFIX)|" |
71 | |||
72 | FILE_T= luajit | ||
73 | FILE_A= libluajit.a | ||
74 | FILE_SO= libluajit.so | ||
75 | FILE_MAN= luajit.1 | ||
76 | FILE_PC= luajit.pc | ||
39 | FILES_INC= lua.h lualib.h lauxlib.h luaconf.h lua.hpp luajit.h | 77 | FILES_INC= lua.h lualib.h lauxlib.h luaconf.h lua.hpp luajit.h |
40 | FILES_JITLIB= bc.lua v.lua dump.lua dis_x86.lua dis_x64.lua vmdef.lua | 78 | FILES_JITLIB= bc.lua v.lua dump.lua dis_x86.lua dis_x64.lua vmdef.lua |
41 | 79 | ||
80 | ifeq (,$(findstring Windows,$(OS))) | ||
81 | ifeq (Darwin,$(shell uname -s)) | ||
82 | INSTALL_SONAME= $(INSTALL_DYLIBNAME) | ||
83 | INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_DYLIBSHORT1) | ||
84 | INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_DYLIBSHORT2) | ||
85 | LDCONFIG= : | ||
86 | endif | ||
87 | endif | ||
88 | |||
42 | ############################################################################## | 89 | ############################################################################## |
43 | 90 | ||
44 | INSTALL_DEP= src/luajit | 91 | INSTALL_DEP= src/luajit |
45 | 92 | ||
46 | all $(INSTALL_DEP): | 93 | default all $(INSTALL_DEP): |
47 | @echo "==== Building LuaJIT $(VERSION) ====" | 94 | @echo "==== Building LuaJIT $(VERSION) ====" |
48 | $(MAKE) -C src | 95 | $(MAKE) -C src |
49 | @echo "==== Successfully built LuaJIT $(VERSION) ====" | 96 | @echo "==== Successfully built LuaJIT $(VERSION) ====" |
50 | 97 | ||
51 | install: $(INSTALL_DEP) | 98 | install: $(INSTALL_DEP) |
52 | @echo "==== Installing LuaJIT $(VERSION) to $(PREFIX) ====" | 99 | @echo "==== Installing LuaJIT $(VERSION) to $(PREFIX) ====" |
53 | $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_JITLIB) | 100 | $(MKDIR) $(INSTALL_DIRS) |
54 | cd src && $(INSTALL_X) $(FILES_T) $(INSTALL_T) | 101 | cd src && $(INSTALL_X) $(FILE_T) $(INSTALL_T) |
102 | cd src && test -f $(FILE_A) && $(INSTALL_F) $(FILE_A) $(INSTALL_STATIC) || : | ||
103 | $(RM) $(INSTALL_DYN) $(INSTALL_SHORT1) $(INSTALL_SHORT2) | ||
104 | cd src && test -f $(FILE_SO) && \ | ||
105 | $(INSTALL_F) $(FILE_SO) $(INSTALL_DYN) && \ | ||
106 | $(LDCONFIG) $(INSTALL_LIB) && \ | ||
107 | $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT1) && \ | ||
108 | $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT2) || : | ||
109 | cd etc && $(INSTALL_F) $(FILE_MAN) $(INSTALL_MAN) | ||
110 | cd etc && $(SED_PC) $(FILE_PC) > $(FILE_PC).tmp && \ | ||
111 | $(INSTALL_F) $(FILE_PC).tmp $(INSTALL_PC) && \ | ||
112 | $(RM) $(FILE_PC).tmp | ||
55 | cd src && $(INSTALL_F) $(FILES_INC) $(INSTALL_INC) | 113 | cd src && $(INSTALL_F) $(FILES_INC) $(INSTALL_INC) |
56 | cd lib && $(INSTALL_F) $(FILES_JITLIB) $(INSTALL_JITLIB) | 114 | cd lib && $(INSTALL_F) $(FILES_JITLIB) $(INSTALL_JITLIB) |
57 | @echo "==== Successfully installed LuaJIT $(VERSION) to $(PREFIX) ====" | 115 | @echo "==== Successfully installed LuaJIT $(VERSION) to $(PREFIX) ====" |
@@ -59,7 +117,7 @@ install: $(INSTALL_DEP) | |||
59 | @echo "Note: the beta releases deliberately do NOT install a symlink for luajit" | 117 | @echo "Note: the beta releases deliberately do NOT install a symlink for luajit" |
60 | @echo "You can do this now by running this command (with sudo):" | 118 | @echo "You can do this now by running this command (with sudo):" |
61 | @echo "" | 119 | @echo "" |
62 | @echo " $(SYMLINK) $(INSTALL_NAME) $(INSTALL_TSYM)" | 120 | @echo " $(SYMLINK) $(INSTALL_TNAME) $(INSTALL_TSYM)" |
63 | @echo "" | 121 | @echo "" |
64 | 122 | ||
65 | ############################################################################## | 123 | ############################################################################## |
@@ -77,8 +135,6 @@ cleaner: | |||
77 | distclean: | 135 | distclean: |
78 | $(MAKE) -C src distclean | 136 | $(MAKE) -C src distclean |
79 | 137 | ||
80 | SUB_TARGETS= amalg clean cleaner distclean | 138 | .PHONY: all install amalg clean cleaner distclean |
81 | |||
82 | .PHONY: all install $(SUB_TARGETS) | ||
83 | 139 | ||
84 | ############################################################################## | 140 | ############################################################################## |