1 ##############################################################################
2 # LuaJIT top level Makefile for installation. Requires GNU Make.
4 # Suitable for POSIX platforms (Linux, *BSD, OSX etc.).
5 # Note: src/Makefile has many more configurable options.
7 # ##### This Makefile is NOT useful for installation on Windows! #####
8 # For MSVC, please follow the instructions given in src/msvcbuild.bat.
9 # For MinGW and Cygwin, cd to src and run make with the Makefile there.
10 # NYI: add wininstall.bat
12 # Copyright (C) 2005-2010 Mike Pall. See Copyright Notice in luajit.h
13 ##############################################################################
19 VERSION
= $(MAJVER
).
$(MINVER
).
$(RELVER
)$(PREREL
)
23 ##############################################################################
25 # Change the installation path as needed and modify src/luaconf.h accordingly.
26 # Note: PREFIX must be an absolute path!
28 export PREFIX
= /usr
/local
29 ##############################################################################
31 DPREFIX
= $(DESTDIR
)$(PREFIX
)
32 INSTALL_BIN
= $(DPREFIX
)/bin
33 INSTALL_LIB
= $(DPREFIX
)/lib
34 INSTALL_SHARE
= $(DPREFIX
)/share
35 INSTALL_INC
= $(DPREFIX
)/include/luajit-
$(MAJVER
).
$(MINVER
)
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
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
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
)
61 INSTALL_DIRS
= $(INSTALL_BIN
) $(INSTALL_LIB
) $(INSTALL_INC
) $(INSTALL_MAN
) \
62 $(INSTALL_PKGCONFIG
) $(INSTALL_JITLIB
) $(INSTALL_LMOD
) $(INSTALL_CMOD
)
67 INSTALL_X
= install -m
0755
68 INSTALL_F
= install -m
0644
70 SED_PC
= sed
-e
"s|^prefix=.*|prefix=$(PREFIX)|"
77 FILES_INC
= lua.h lualib.h lauxlib.h luaconf.h lua.hpp luajit.h
78 FILES_JITLIB
= bc.lua v.lua dump.lua dis_x86.lua dis_x64.lua vmdef.lua
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
)
89 ##############################################################################
91 INSTALL_DEP
= src
/luajit
93 default
all $(INSTALL_DEP
):
94 @echo
"==== Building LuaJIT $(VERSION) ===="
96 @echo
"==== Successfully built LuaJIT $(VERSION) ===="
98 install: $(INSTALL_DEP
)
99 @echo
"==== Installing LuaJIT $(VERSION) to $(PREFIX) ===="
100 $(MKDIR
) $(INSTALL_DIRS
)
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
) && \
113 cd src
&& $(INSTALL_F
) $(FILES_INC
) $(INSTALL_INC
)
114 cd lib
&& $(INSTALL_F
) $(FILES_JITLIB
) $(INSTALL_JITLIB
)
115 @echo
"==== Successfully installed LuaJIT $(VERSION) to $(PREFIX) ===="
117 @echo
"Note: the beta releases deliberately do NOT install a symlink for luajit"
118 @echo
"You can do this now by running this command (with sudo):"
120 @echo
" $(SYMLINK) $(INSTALL_TNAME) $(INSTALL_TSYM)"
123 ##############################################################################
126 @echo
"Building LuaJIT $(VERSION)"
133 $(MAKE
) -C src cleaner
136 $(MAKE
) -C src
distclean
138 .PHONY
: all install amalg
clean cleaner
distclean
140 ##############################################################################