-# Makefile for installing Lua
-# See doc/readme.html for installation and customization instructions.
+# makefile for installing Lua
+# see INSTALL for installation instructions
+# see src/Makefile and src/luaconf.h for further customization
# == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT =======================
PLAT= none
# Where to install. The installation starts in the src and doc directories,
-# so take care if INSTALL_TOP is not an absolute path. See the local target.
-# You may want to make INSTALL_LMOD and INSTALL_CMOD consistent with
-# LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h.
+# so take care if INSTALL_TOP is not an absolute path.
INSTALL_TOP= /usr/local
INSTALL_BIN= $(INSTALL_TOP)/bin
INSTALL_INC= $(INSTALL_TOP)/include
INSTALL_LIB= $(INSTALL_TOP)/lib
INSTALL_MAN= $(INSTALL_TOP)/man/man1
+#
+# You probably want to make INSTALL_LMOD and INSTALL_CMOD consistent with
+# LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h (and also with etc/lua.pc).
INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V
INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V
-# How to install. If your install program does not support "-p", then
-# you may have to run ranlib on the installed liblua.a.
+# How to install. If your install program does not support "-p", then you
+# may have to run ranlib on the installed liblua.a (do "make ranlib").
INSTALL= install -p
INSTALL_EXEC= $(INSTALL) -m 0755
INSTALL_DATA= $(INSTALL) -m 0644
#
-# If you don't have "install" you can use "cp" instead.
+# If you don't have install you can use cp instead.
# INSTALL= cp -p
# INSTALL_EXEC= $(INSTALL)
# INSTALL_DATA= $(INSTALL)
-# Other utilities.
+# Utilities.
MKDIR= mkdir -p
-RM= rm -f
+RANLIB= ranlib
-# == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE =======
+# == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE =========
# Convenience platforms targets.
PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
# What to install.
TO_BIN= lua luac
-TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp
-TO_LIB= liblua.a
+TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp
+TO_LIB= liblua.a liblua.so.$(V)
TO_MAN= lua.1 luac.1
# Lua version and release.
-V= 5.2
-R= $V.1
+V= 5.1
+R= 5.1.5
-# Targets start here.
all: $(PLAT)
$(PLATS) clean:
cd src && $(MAKE) $@
test: dummy
- src/lua -v
+ src/lua test/hello.lua
install: dummy
cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
+ ln -s liblua.so.$(V) $(INSTALL_LIB)/liblua.so
cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
-uninstall:
- cd src && cd $(INSTALL_BIN) && $(RM) $(TO_BIN)
- cd src && cd $(INSTALL_INC) && $(RM) $(TO_INC)
- cd src && cd $(INSTALL_LIB) && $(RM) $(TO_LIB)
- cd doc && cd $(INSTALL_MAN) && $(RM) $(TO_MAN)
+ranlib:
+ cd src && cd $(INSTALL_LIB) && $(RANLIB) $(TO_LIB)
local:
- $(MAKE) install INSTALL_TOP=../install
+ $(MAKE) install INSTALL_TOP=..
none:
- @echo "Please do 'make PLATFORM' where PLATFORM is one of these:"
+ @echo "Please do"
+ @echo " make PLATFORM"
+ @echo "where PLATFORM is one of these:"
@echo " $(PLATS)"
- @echo "See doc/readme.html for complete instructions."
+ @echo "See INSTALL for complete instructions."
-# make may get confused with test/ and install/
+# make may get confused with test/ and INSTALL in a case-insensitive OS
dummy:
# echo config parameters
echo:
+ @echo ""
+ @echo "These are the parameters currently set in src/Makefile to build Lua $R:"
+ @echo ""
@cd src && $(MAKE) -s echo
- @echo "PLAT= $(PLAT)"
- @echo "V= $V"
- @echo "R= $R"
- @echo "TO_BIN= $(TO_BIN)"
- @echo "TO_INC= $(TO_INC)"
- @echo "TO_LIB= $(TO_LIB)"
- @echo "TO_MAN= $(TO_MAN)"
- @echo "INSTALL_TOP= $(INSTALL_TOP)"
- @echo "INSTALL_BIN= $(INSTALL_BIN)"
- @echo "INSTALL_INC= $(INSTALL_INC)"
- @echo "INSTALL_LIB= $(INSTALL_LIB)"
- @echo "INSTALL_MAN= $(INSTALL_MAN)"
- @echo "INSTALL_LMOD= $(INSTALL_LMOD)"
- @echo "INSTALL_CMOD= $(INSTALL_CMOD)"
- @echo "INSTALL_EXEC= $(INSTALL_EXEC)"
- @echo "INSTALL_DATA= $(INSTALL_DATA)"
-
-# echo pkg-config data
-pc:
- @echo "version=$R"
- @echo "prefix=$(INSTALL_TOP)"
- @echo "libdir=$(INSTALL_LIB)"
- @echo "includedir=$(INSTALL_INC)"
+ @echo ""
+ @echo "These are the parameters currently set in Makefile to install Lua $R:"
+ @echo ""
+ @echo "PLAT = $(PLAT)"
+ @echo "INSTALL_TOP = $(INSTALL_TOP)"
+ @echo "INSTALL_BIN = $(INSTALL_BIN)"
+ @echo "INSTALL_INC = $(INSTALL_INC)"
+ @echo "INSTALL_LIB = $(INSTALL_LIB)"
+ @echo "INSTALL_MAN = $(INSTALL_MAN)"
+ @echo "INSTALL_LMOD = $(INSTALL_LMOD)"
+ @echo "INSTALL_CMOD = $(INSTALL_CMOD)"
+ @echo "INSTALL_EXEC = $(INSTALL_EXEC)"
+ @echo "INSTALL_DATA = $(INSTALL_DATA)"
+ @echo ""
+ @echo "See also src/luaconf.h ."
+ @echo ""
+
+# echo private config parameters
+pecho:
+ @echo "V = $(V)"
+ @echo "R = $(R)"
+ @echo "TO_BIN = $(TO_BIN)"
+ @echo "TO_INC = $(TO_INC)"
+ @echo "TO_LIB = $(TO_LIB)"
+ @echo "TO_MAN = $(TO_MAN)"
+
+# echo config parameters as Lua code
+# uncomment the last sed expression if you want nil instead of empty strings
+lecho:
+ @echo "-- installation parameters for Lua $R"
+ @echo "VERSION = '$V'"
+ @echo "RELEASE = '$R'"
+ @$(MAKE) echo | grep = | sed -e 's/= /= "/' -e 's/$$/"/' #-e 's/""/nil/'
+ @echo "-- EOF"
# list targets that do not create files (but not all makes understand .PHONY)
.PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho