Drop obsolete shadow frame link stack.
[luajit-2.0/celess22.git] / Makefile
blob2a55260bc3168a25d8917140d3a9f1ee9b799a55
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 ##############################################################################
15 MAJVER= 2
16 MINVER= 0
17 RELVER= 0
18 PREREL= -beta2
19 VERSION= $(MAJVER).$(MINVER).$(RELVER)$(PREREL)
20 ABIVER= 5.1
21 NODOTABIVER= 51
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)
64 RM= rm -f
65 MKDIR= mkdir -p
66 SYMLINK= ln -sf
67 INSTALL_X= install -m 0755
68 INSTALL_F= install -m 0644
69 LDCONFIG= ldconfig -n
70 SED_PC= sed -e "s|^prefix=.*|prefix=$(PREFIX)|"
72 FILE_T= luajit
73 FILE_A= libluajit.a
74 FILE_SO= libluajit.so
75 FILE_MAN= luajit.1
76 FILE_PC= luajit.pc
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)
85 LDCONFIG= :
86 endif
87 endif
89 ##############################################################################
91 INSTALL_DEP= src/luajit
93 default all $(INSTALL_DEP):
94 @echo "==== Building LuaJIT $(VERSION) ===="
95 $(MAKE) -C src
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) && \
112 $(RM) $(FILE_PC).tmp
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) ===="
116 @echo ""
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):"
119 @echo ""
120 @echo " $(SYMLINK) $(INSTALL_TNAME) $(INSTALL_TSYM)"
121 @echo ""
123 ##############################################################################
125 amalg:
126 @echo "Building LuaJIT $(VERSION)"
127 $(MAKE) -C src amalg
129 clean:
130 $(MAKE) -C src clean
132 cleaner:
133 $(MAKE) -C src cleaner
135 distclean:
136 $(MAKE) -C src distclean
138 .PHONY: all install amalg clean cleaner distclean
140 ##############################################################################