aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile96
1 files changed, 76 insertions, 20 deletions
diff --git a/Makefile b/Makefile
index 67347041..1dd0c132 100644
--- a/Makefile
+++ b/Makefile
@@ -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
15BASEVER= 2.0.0 15MAJVER= 2
16VERSION= 2.0.0-beta1 16MINVER= 0
17RELVER= 0
18PREREL= -beta2
19VERSION= $(MAJVER).$(MINVER).$(RELVER)$(PREREL)
20ABIVER= 5.1
21NODOTABIVER= 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#
23PREFIX= /usr/local 28export PREFIX= /usr/local
24############################################################################## 29##############################################################################
25 30
26INSTALL_BIN= $(PREFIX)/bin 31DPREFIX= $(DESTDIR)$(PREFIX)
27INSTALL_NAME= luajit-$(VERSION) 32INSTALL_BIN= $(DPREFIX)/bin
28INSTALL_T= $(INSTALL_BIN)/$(INSTALL_NAME) 33INSTALL_LIB= $(DPREFIX)/lib
29INSTALL_TSYM= $(INSTALL_BIN)/luajit 34INSTALL_SHARE= $(DPREFIX)/share
30INSTALL_INC= $(PREFIX)/include/luajit-$(BASEVER) 35INSTALL_INC= $(DPREFIX)/include/luajit-$(MAJVER).$(MINVER)
31INSTALL_JITLIB= $(PREFIX)/share/luajit-$(VERSION)/jit 36
32 37INSTALL_JITLIB= $(INSTALL_SHARE)/luajit-$(VERSION)/jit
38INSTALL_LMOD= $(INSTALL_SHARE)/lua/$(ABIVER)
39INSTALL_CMOD= $(INSTALL_LIB)/lua/$(ABIVER)
40INSTALL_MAN= $(INSTALL_SHARE)/man/man1
41INSTALL_PKGCONFIG= $(INSTALL_LIB)/pkgconfig
42
43INSTALL_TNAME= luajit-$(VERSION)
44INSTALL_TSYMNAME= luajit
45INSTALL_ANAME= libluajit-$(ABIVER).a
46INSTALL_SONAME= libluajit-$(ABIVER).so.$(MAJVER).$(MINVER).$(RELVER)
47INSTALL_SOSHORT= libluajit-$(ABIVER).so
48INSTALL_DYLIBNAME= libluajit-$(NODOTABIVER).$(MAJVER).$(MINVER).$(RELVER).dylib
49INSTALL_DYLIBSHORT1= libluajit-$(NODOTABIVER).dylib
50INSTALL_DYLIBSHORT2= libluajit-$(NODOTABIVER).$(MAJVER).dylib
51INSTALL_PCNAME= luajit.pc
52
53INSTALL_STATIC= $(INSTALL_LIB)/$(INSTALL_ANAME)
54INSTALL_DYN= $(INSTALL_LIB)/$(INSTALL_SONAME)
55INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_SOSHORT)
56INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT)
57INSTALL_T= $(INSTALL_BIN)/$(INSTALL_TNAME)
58INSTALL_TSYM= $(INSTALL_BIN)/$(INSTALL_TSYMNAME)
59INSTALL_PC= $(INSTALL_PKGCONFIG)/$(INSTALL_PCNAME)
60
61INSTALL_DIRS= $(INSTALL_BIN) $(INSTALL_LIB) $(INSTALL_INC) $(INSTALL_MAN) \
62 $(INSTALL_PKGCONFIG) $(INSTALL_JITLIB) $(INSTALL_LMOD) $(INSTALL_CMOD)
63
64RM= rm -f
33MKDIR= mkdir -p 65MKDIR= mkdir -p
34SYMLINK= ln -f -s 66SYMLINK= ln -sf
35INSTALL_X= install -m 0755 67INSTALL_X= install -m 0755
36INSTALL_F= install -m 0644 68INSTALL_F= install -m 0644
37 69LDCONFIG= ldconfig -n
38FILES_T= luajit 70SED_PC= sed -e "s|^prefix=.*|prefix=$(PREFIX)|"
71
72FILE_T= luajit
73FILE_A= libluajit.a
74FILE_SO= libluajit.so
75FILE_MAN= luajit.1
76FILE_PC= luajit.pc
39FILES_INC= lua.h lualib.h lauxlib.h luaconf.h lua.hpp luajit.h 77FILES_INC= lua.h lualib.h lauxlib.h luaconf.h lua.hpp luajit.h
40FILES_JITLIB= bc.lua v.lua dump.lua dis_x86.lua dis_x64.lua vmdef.lua 78FILES_JITLIB= bc.lua v.lua dump.lua dis_x86.lua dis_x64.lua vmdef.lua
41 79
80ifeq (,$(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
87endif
88
42############################################################################## 89##############################################################################
43 90
44INSTALL_DEP= src/luajit 91INSTALL_DEP= src/luajit
45 92
46all $(INSTALL_DEP): 93default 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
51install: $(INSTALL_DEP) 98install: $(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:
77distclean: 135distclean:
78 $(MAKE) -C src distclean 136 $(MAKE) -C src distclean
79 137
80SUB_TARGETS= amalg clean cleaner distclean 138.PHONY: all install amalg clean cleaner distclean
81
82.PHONY: all install $(SUB_TARGETS)
83 139
84############################################################################## 140##############################################################################