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