1*8e3e3a7aSWarner Losh# Makefile for installing Lua 2*8e3e3a7aSWarner Losh# See doc/readme.html for installation and customization instructions. 3*8e3e3a7aSWarner Losh 4*8e3e3a7aSWarner Losh# == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT ======================= 5*8e3e3a7aSWarner Losh 6*8e3e3a7aSWarner Losh# Your platform. See PLATS for possible values. 7*8e3e3a7aSWarner LoshPLAT= none 8*8e3e3a7aSWarner Losh 9*8e3e3a7aSWarner Losh# Where to install. The installation starts in the src and doc directories, 10*8e3e3a7aSWarner Losh# so take care if INSTALL_TOP is not an absolute path. See the local target. 11*8e3e3a7aSWarner Losh# You may want to make INSTALL_LMOD and INSTALL_CMOD consistent with 12*8e3e3a7aSWarner Losh# LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h. 13*8e3e3a7aSWarner LoshINSTALL_TOP= /usr/local 14*8e3e3a7aSWarner LoshINSTALL_BIN= $(INSTALL_TOP)/bin 15*8e3e3a7aSWarner LoshINSTALL_INC= $(INSTALL_TOP)/include 16*8e3e3a7aSWarner LoshINSTALL_LIB= $(INSTALL_TOP)/lib 17*8e3e3a7aSWarner LoshINSTALL_MAN= $(INSTALL_TOP)/man/man1 18*8e3e3a7aSWarner LoshINSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V 19*8e3e3a7aSWarner LoshINSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V 20*8e3e3a7aSWarner Losh 21*8e3e3a7aSWarner Losh# How to install. If your install program does not support "-p", then 22*8e3e3a7aSWarner Losh# you may have to run ranlib on the installed liblua.a. 23*8e3e3a7aSWarner LoshINSTALL= install -p 24*8e3e3a7aSWarner LoshINSTALL_EXEC= $(INSTALL) -m 0755 25*8e3e3a7aSWarner LoshINSTALL_DATA= $(INSTALL) -m 0644 26*8e3e3a7aSWarner Losh# 27*8e3e3a7aSWarner Losh# If you don't have "install" you can use "cp" instead. 28*8e3e3a7aSWarner Losh# INSTALL= cp -p 29*8e3e3a7aSWarner Losh# INSTALL_EXEC= $(INSTALL) 30*8e3e3a7aSWarner Losh# INSTALL_DATA= $(INSTALL) 31*8e3e3a7aSWarner Losh 32*8e3e3a7aSWarner Losh# Other utilities. 33*8e3e3a7aSWarner LoshMKDIR= mkdir -p 34*8e3e3a7aSWarner LoshRM= rm -f 35*8e3e3a7aSWarner Losh 36*8e3e3a7aSWarner Losh# == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE ======= 37*8e3e3a7aSWarner Losh 38*8e3e3a7aSWarner Losh# Convenience platforms targets. 39*8e3e3a7aSWarner LoshPLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris 40*8e3e3a7aSWarner Losh 41*8e3e3a7aSWarner Losh# What to install. 42*8e3e3a7aSWarner LoshTO_BIN= lua luac 43*8e3e3a7aSWarner LoshTO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp 44*8e3e3a7aSWarner LoshTO_LIB= liblua.a 45*8e3e3a7aSWarner LoshTO_MAN= lua.1 luac.1 46*8e3e3a7aSWarner Losh 47*8e3e3a7aSWarner Losh# Lua version and release. 48*8e3e3a7aSWarner LoshV= 5.3 49*8e3e3a7aSWarner LoshR= $V.4 50*8e3e3a7aSWarner Losh 51*8e3e3a7aSWarner Losh# Targets start here. 52*8e3e3a7aSWarner Loshall: $(PLAT) 53*8e3e3a7aSWarner Losh 54*8e3e3a7aSWarner Losh$(PLATS) clean: 55*8e3e3a7aSWarner Losh cd src && $(MAKE) $@ 56*8e3e3a7aSWarner Losh 57*8e3e3a7aSWarner Loshtest: dummy 58*8e3e3a7aSWarner Losh src/lua -v 59*8e3e3a7aSWarner Losh 60*8e3e3a7aSWarner Loshinstall: dummy 61*8e3e3a7aSWarner Losh cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD) 62*8e3e3a7aSWarner Losh cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN) 63*8e3e3a7aSWarner Losh cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) 64*8e3e3a7aSWarner Losh cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB) 65*8e3e3a7aSWarner Losh cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN) 66*8e3e3a7aSWarner Losh 67*8e3e3a7aSWarner Loshuninstall: 68*8e3e3a7aSWarner Losh cd src && cd $(INSTALL_BIN) && $(RM) $(TO_BIN) 69*8e3e3a7aSWarner Losh cd src && cd $(INSTALL_INC) && $(RM) $(TO_INC) 70*8e3e3a7aSWarner Losh cd src && cd $(INSTALL_LIB) && $(RM) $(TO_LIB) 71*8e3e3a7aSWarner Losh cd doc && cd $(INSTALL_MAN) && $(RM) $(TO_MAN) 72*8e3e3a7aSWarner Losh 73*8e3e3a7aSWarner Loshlocal: 74*8e3e3a7aSWarner Losh $(MAKE) install INSTALL_TOP=../install 75*8e3e3a7aSWarner Losh 76*8e3e3a7aSWarner Loshnone: 77*8e3e3a7aSWarner Losh @echo "Please do 'make PLATFORM' where PLATFORM is one of these:" 78*8e3e3a7aSWarner Losh @echo " $(PLATS)" 79*8e3e3a7aSWarner Losh @echo "See doc/readme.html for complete instructions." 80*8e3e3a7aSWarner Losh 81*8e3e3a7aSWarner Losh# make may get confused with test/ and install/ 82*8e3e3a7aSWarner Loshdummy: 83*8e3e3a7aSWarner Losh 84*8e3e3a7aSWarner Losh# echo config parameters 85*8e3e3a7aSWarner Loshecho: 86*8e3e3a7aSWarner Losh @cd src && $(MAKE) -s echo 87*8e3e3a7aSWarner Losh @echo "PLAT= $(PLAT)" 88*8e3e3a7aSWarner Losh @echo "V= $V" 89*8e3e3a7aSWarner Losh @echo "R= $R" 90*8e3e3a7aSWarner Losh @echo "TO_BIN= $(TO_BIN)" 91*8e3e3a7aSWarner Losh @echo "TO_INC= $(TO_INC)" 92*8e3e3a7aSWarner Losh @echo "TO_LIB= $(TO_LIB)" 93*8e3e3a7aSWarner Losh @echo "TO_MAN= $(TO_MAN)" 94*8e3e3a7aSWarner Losh @echo "INSTALL_TOP= $(INSTALL_TOP)" 95*8e3e3a7aSWarner Losh @echo "INSTALL_BIN= $(INSTALL_BIN)" 96*8e3e3a7aSWarner Losh @echo "INSTALL_INC= $(INSTALL_INC)" 97*8e3e3a7aSWarner Losh @echo "INSTALL_LIB= $(INSTALL_LIB)" 98*8e3e3a7aSWarner Losh @echo "INSTALL_MAN= $(INSTALL_MAN)" 99*8e3e3a7aSWarner Losh @echo "INSTALL_LMOD= $(INSTALL_LMOD)" 100*8e3e3a7aSWarner Losh @echo "INSTALL_CMOD= $(INSTALL_CMOD)" 101*8e3e3a7aSWarner Losh @echo "INSTALL_EXEC= $(INSTALL_EXEC)" 102*8e3e3a7aSWarner Losh @echo "INSTALL_DATA= $(INSTALL_DATA)" 103*8e3e3a7aSWarner Losh 104*8e3e3a7aSWarner Losh# echo pkg-config data 105*8e3e3a7aSWarner Loshpc: 106*8e3e3a7aSWarner Losh @echo "version=$R" 107*8e3e3a7aSWarner Losh @echo "prefix=$(INSTALL_TOP)" 108*8e3e3a7aSWarner Losh @echo "libdir=$(INSTALL_LIB)" 109*8e3e3a7aSWarner Losh @echo "includedir=$(INSTALL_INC)" 110*8e3e3a7aSWarner Losh 111*8e3e3a7aSWarner Losh# list targets that do not create files (but not all makes understand .PHONY) 112*8e3e3a7aSWarner Losh.PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho 113*8e3e3a7aSWarner Losh 114*8e3e3a7aSWarner Losh# (end of Makefile) 115