| # 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 ======================= | |
| # Your platform. See PLATS for possible values. | |
| 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. | |
| 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 (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. | |
| # INSTALL= cp -p | |
| # INSTALL_EXEC= $(INSTALL) | |
| # INSTALL_DATA= $(INSTALL) | |
| # Utilities. | |
| MKDIR= mkdir -p | |
| RANLIB= ranlib | |
| # == 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 ../etc/lua.hpp | |
| TO_LIB= liblua.a | |
| TO_MAN= lua.1 luac.1 | |
| # Lua version and release. | |
| V= 5.1 | |
| R= 5.1.4 | |
| all: $(PLAT) | |
| $(PLATS) clean: | |
| cd src && $(MAKE) $@ | |
| test: dummy | |
| 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) | |
| cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB) | |
| cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN) | |
| ranlib: | |
| cd src && cd $(INSTALL_LIB) && $(RANLIB) $(TO_LIB) | |
| local: | |
| $(MAKE) install INSTALL_TOP=.. | |
| none: | |
| @echo "Please do" | |
| @echo " make PLATFORM" | |
| @echo "where PLATFORM is one of these:" | |
| @echo " $(PLATS)" | |
| @echo "See INSTALL for complete instructions." | |
| # 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 "" | |
| @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 | |
| # (end of Makefile) |