beta-0.89.2
[luatex.git] / source / libs / luajit / LuaJIT-src / Makefile
blob8ce773e3936ce075e33ba4a66834839a589a50c7
1 ##############################################################################
2 # LuaJIT top level Makefile for installation. Requires GNU Make.
4 # Please read doc/install.html before changing any variables!
6 # Suitable for POSIX platforms (Linux, *BSD, OSX etc.).
7 # Note: src/Makefile has many more configurable options.
9 # ##### This Makefile is NOT useful for Windows! #####
10 # For MSVC, please follow the instructions given in src/msvcbuild.bat.
11 # For MinGW and Cygwin, cd to src and run make with the Makefile there.
13 # Copyright (C) 2005-2015 Mike Pall. See Copyright Notice in luajit.h
14 ##############################################################################
16 MAJVER= 2
17 MINVER= 1
18 RELVER= 0
19 PREREL= -beta1
20 VERSION= $(MAJVER).$(MINVER).$(RELVER)$(PREREL)
21 ABIVER= 5.1
23 ##############################################################################
25 # Change the installation path as needed. This automatically adjusts
26 # the paths in src/luaconf.h, too. Note: PREFIX must be an absolute path!
28 export PREFIX= /usr/local
29 export MULTILIB= lib
30 ##############################################################################
32 DPREFIX= $(DESTDIR)$(PREFIX)
33 INSTALL_BIN= $(DPREFIX)/bin
34 INSTALL_LIB= $(DPREFIX)/$(MULTILIB)
35 INSTALL_SHARE= $(DPREFIX)/share
36 INSTALL_INC= $(DPREFIX)/include/luajit-$(MAJVER).$(MINVER)
38 INSTALL_LJLIBD= $(INSTALL_SHARE)/luajit-$(VERSION)
39 INSTALL_JITLIB= $(INSTALL_LJLIBD)/jit
40 INSTALL_LMODD= $(INSTALL_SHARE)/lua
41 INSTALL_LMOD= $(INSTALL_LMODD)/$(ABIVER)
42 INSTALL_CMODD= $(INSTALL_LIB)/lua
43 INSTALL_CMOD= $(INSTALL_CMODD)/$(ABIVER)
44 INSTALL_MAN= $(INSTALL_SHARE)/man/man1
45 INSTALL_PKGCONFIG= $(INSTALL_LIB)/pkgconfig
47 INSTALL_TNAME= luajit-$(VERSION)
48 INSTALL_TSYMNAME= luajit
49 INSTALL_ANAME= libluajit-$(ABIVER).a
50 INSTALL_SONAME= libluajit-$(ABIVER).so.$(MAJVER).$(MINVER).$(RELVER)
51 INSTALL_SOSHORT= libluajit-$(ABIVER).so
52 INSTALL_DYLIBNAME= libluajit-$(ABIVER).$(MAJVER).$(MINVER).$(RELVER).dylib
53 INSTALL_DYLIBSHORT1= libluajit-$(ABIVER).dylib
54 INSTALL_DYLIBSHORT2= libluajit-$(ABIVER).$(MAJVER).dylib
55 INSTALL_PCNAME= luajit.pc
57 INSTALL_STATIC= $(INSTALL_LIB)/$(INSTALL_ANAME)
58 INSTALL_DYN= $(INSTALL_LIB)/$(INSTALL_SONAME)
59 INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_SOSHORT)
60 INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT)
61 INSTALL_T= $(INSTALL_BIN)/$(INSTALL_TNAME)
62 INSTALL_TSYM= $(INSTALL_BIN)/$(INSTALL_TSYMNAME)
63 INSTALL_PC= $(INSTALL_PKGCONFIG)/$(INSTALL_PCNAME)
65 INSTALL_DIRS= $(INSTALL_BIN) $(INSTALL_LIB) $(INSTALL_INC) $(INSTALL_MAN) \
66 $(INSTALL_PKGCONFIG) $(INSTALL_JITLIB) $(INSTALL_LMOD) $(INSTALL_CMOD)
67 UNINSTALL_DIRS= $(INSTALL_JITLIB) $(INSTALL_LJLIBD) $(INSTALL_INC) \
68 $(INSTALL_LMOD) $(INSTALL_LMODD) $(INSTALL_CMOD) $(INSTALL_CMODD)
70 RM= rm -f
71 MKDIR= mkdir -p
72 RMDIR= rmdir 2>/dev/null
73 SYMLINK= ln -sf
74 INSTALL_X= install -m 0755
75 INSTALL_F= install -m 0644
76 UNINSTALL= $(RM)
77 LDCONFIG= ldconfig -n
78 SED_PC= sed -e "s|^prefix=.*|prefix=$(PREFIX)|" \
79 -e "s|^multilib=.*|multilib=$(MULTILIB)|"
81 FILE_T= luajit
82 FILE_A= libluajit.a
83 FILE_SO= libluajit.so
84 FILE_MAN= luajit.1
85 FILE_PC= luajit.pc
86 FILES_INC= lua.h lualib.h lauxlib.h luaconf.h lua.hpp luajit.h
87 FILES_JITLIB= bc.lua bcsave.lua dump.lua p.lua v.lua zone.lua \
88 dis_x86.lua dis_x64.lua dis_arm.lua dis_ppc.lua \
89 dis_mips.lua dis_mipsel.lua vmdef.lua
91 ifeq (,$(findstring Windows,$(OS)))
92 ifeq (Darwin,$(shell uname -s))
93 INSTALL_SONAME= $(INSTALL_DYLIBNAME)
94 INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_DYLIBSHORT1)
95 INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_DYLIBSHORT2)
96 LDCONFIG= :
97 endif
98 endif
100 ##############################################################################
102 INSTALL_DEP= src/luajit
104 default all $(INSTALL_DEP):
105 @echo "==== Building LuaJIT $(VERSION) ===="
106 $(MAKE) -C src
107 @echo "==== Successfully built LuaJIT $(VERSION) ===="
109 install: $(INSTALL_DEP)
110 @echo "==== Installing LuaJIT $(VERSION) to $(PREFIX) ===="
111 $(MKDIR) $(INSTALL_DIRS)
112 cd src && $(INSTALL_X) $(FILE_T) $(INSTALL_T)
113 cd src && test -f $(FILE_A) && $(INSTALL_F) $(FILE_A) $(INSTALL_STATIC) || :
114 $(RM) $(INSTALL_DYN) $(INSTALL_SHORT1) $(INSTALL_SHORT2)
115 cd src && test -f $(FILE_SO) && \
116 $(INSTALL_X) $(FILE_SO) $(INSTALL_DYN) && \
117 $(LDCONFIG) $(INSTALL_LIB) && \
118 $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT1) && \
119 $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT2) || :
120 cd etc && $(INSTALL_F) $(FILE_MAN) $(INSTALL_MAN)
121 cd etc && $(SED_PC) $(FILE_PC) > $(FILE_PC).tmp && \
122 $(INSTALL_F) $(FILE_PC).tmp $(INSTALL_PC) && \
123 $(RM) $(FILE_PC).tmp
124 cd src && $(INSTALL_F) $(FILES_INC) $(INSTALL_INC)
125 cd src/jit && $(INSTALL_F) $(FILES_JITLIB) $(INSTALL_JITLIB)
126 @echo "==== Successfully installed LuaJIT $(VERSION) to $(PREFIX) ===="
127 @echo ""
128 @echo "Note: the development releases deliberately do NOT install a symlink for luajit"
129 @echo "You can do this now by running this command (with sudo):"
130 @echo ""
131 @echo " $(SYMLINK) $(INSTALL_TNAME) $(INSTALL_TSYM)"
132 @echo ""
135 uninstall:
136 @echo "==== Uninstalling LuaJIT $(VERSION) from $(PREFIX) ===="
137 $(UNINSTALL) $(INSTALL_T) $(INSTALL_STATIC) $(INSTALL_DYN) $(INSTALL_SHORT1) $(INSTALL_SHORT2) $(INSTALL_MAN)/$(FILE_MAN) $(INSTALL_PC)
138 for file in $(FILES_JITLIB); do \
139 $(UNINSTALL) $(INSTALL_JITLIB)/$$file; \
140 done
141 for file in $(FILES_INC); do \
142 $(UNINSTALL) $(INSTALL_INC)/$$file; \
143 done
144 $(LDCONFIG) $(INSTALL_LIB)
145 $(RMDIR) $(UNINSTALL_DIRS) || :
146 @echo "==== Successfully uninstalled LuaJIT $(VERSION) from $(PREFIX) ===="
148 ##############################################################################
150 amalg:
151 @echo "Building LuaJIT $(VERSION)"
152 $(MAKE) -C src amalg
154 clean:
155 $(MAKE) -C src clean
157 .PHONY: all install amalg clean
159 ##############################################################################