1# makefile for installing Lua 2# see INSTALL for installation instructions 3# see src/Makefile and src/luaconf.h for further customization 4 5# == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT ======================= 6 7# Your platform. See PLATS for possible values. 8PLAT= none 9 10# Where to install. The installation starts in the src and doc directories, 11# so take care if INSTALL_TOP is not an absolute path. 12INSTALL_TOP= /usr/local 13INSTALL_BIN= $(INSTALL_TOP)/bin 14INSTALL_INC= $(INSTALL_TOP)/include 15INSTALL_LIB= $(INSTALL_TOP)/lib 16INSTALL_MAN= $(INSTALL_TOP)/man/man1 17# 18# You probably want to make INSTALL_LMOD and INSTALL_CMOD consistent with 19# LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h (and also with etc/lua.pc). 20INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V 21INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V 22 23# How to install. If your install program does not support "-p", then you 24# may have to run ranlib on the installed liblua.a (do "make ranlib"). 25INSTALL= install -p 26INSTALL_EXEC= $(INSTALL) -m 0755 27INSTALL_DATA= $(INSTALL) -m 0644 28# 29# If you don't have install you can use cp instead. 30# INSTALL= cp -p 31# INSTALL_EXEC= $(INSTALL) 32# INSTALL_DATA= $(INSTALL) 33 34# Utilities. 35MKDIR= mkdir -p 36RANLIB= ranlib 37 38# == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE ========= 39 40# Convenience platforms targets. 41PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris 42 43# What to install. 44TO_BIN= lua luac 45TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp 46TO_LIB= liblua.a 47TO_MAN= lua.1 luac.1 48 49# Lua version and release. 50V= 5.1 51R= 5.1.4 52 53all: $(PLAT) 54 55$(PLATS) clean: 56 cd src && $(MAKE) $@ 57 58test: dummy 59 src/lua test/hello.lua 60 61install: dummy 62 cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD) 63 cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN) 64 cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) 65 cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB) 66 cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN) 67 68ranlib: 69 cd src && cd $(INSTALL_LIB) && $(RANLIB) $(TO_LIB) 70 71local: 72 $(MAKE) install INSTALL_TOP=.. 73 74none: 75 @echo "Please do" 76 @echo " make PLATFORM" 77 @echo "where PLATFORM is one of these:" 78 @echo " $(PLATS)" 79 @echo "See INSTALL for complete instructions." 80 81# make may get confused with test/ and INSTALL in a case-insensitive OS 82dummy: 83 84# echo config parameters 85echo: 86 @echo "" 87 @echo "These are the parameters currently set in src/Makefile to build Lua $R:" 88 @echo "" 89 @cd src && $(MAKE) -s echo 90 @echo "" 91 @echo "These are the parameters currently set in Makefile to install Lua $R:" 92 @echo "" 93 @echo "PLAT = $(PLAT)" 94 @echo "INSTALL_TOP = $(INSTALL_TOP)" 95 @echo "INSTALL_BIN = $(INSTALL_BIN)" 96 @echo "INSTALL_INC = $(INSTALL_INC)" 97 @echo "INSTALL_LIB = $(INSTALL_LIB)" 98 @echo "INSTALL_MAN = $(INSTALL_MAN)" 99 @echo "INSTALL_LMOD = $(INSTALL_LMOD)" 100 @echo "INSTALL_CMOD = $(INSTALL_CMOD)" 101 @echo "INSTALL_EXEC = $(INSTALL_EXEC)" 102 @echo "INSTALL_DATA = $(INSTALL_DATA)" 103 @echo "" 104 @echo "See also src/luaconf.h ." 105 @echo "" 106 107# echo private config parameters 108pecho: 109 @echo "V = $(V)" 110 @echo "R = $(R)" 111 @echo "TO_BIN = $(TO_BIN)" 112 @echo "TO_INC = $(TO_INC)" 113 @echo "TO_LIB = $(TO_LIB)" 114 @echo "TO_MAN = $(TO_MAN)" 115 116# echo config parameters as Lua code 117# uncomment the last sed expression if you want nil instead of empty strings 118lecho: 119 @echo "-- installation parameters for Lua $R" 120 @echo "VERSION = '$V'" 121 @echo "RELEASE = '$R'" 122 @$(MAKE) echo | grep = | sed -e 's/= /= "/' -e 's/$$/"/' #-e 's/""/nil/' 123 @echo "-- EOF" 124 125# list targets that do not create files (but not all makes understand .PHONY) 126.PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho 127 128# (end of Makefile) 129