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= none 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= aix bsd c89 freebsd generic linux 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.3 49R= $V.4 50 51# Targets start here. 52all: $(PLAT) 53 54$(PLATS) clean: 55 cd src && $(MAKE) $@ 56 57test: dummy 58 src/lua -v 59 60install: dummy 61 cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD) 62 cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN) 63 cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) 64 cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB) 65 cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN) 66 67uninstall: 68 cd src && cd $(INSTALL_BIN) && $(RM) $(TO_BIN) 69 cd src && cd $(INSTALL_INC) && $(RM) $(TO_INC) 70 cd src && cd $(INSTALL_LIB) && $(RM) $(TO_LIB) 71 cd doc && cd $(INSTALL_MAN) && $(RM) $(TO_MAN) 72 73local: 74 $(MAKE) install INSTALL_TOP=../install 75 76none: 77 @echo "Please do 'make PLATFORM' where PLATFORM is one of these:" 78 @echo " $(PLATS)" 79 @echo "See doc/readme.html for complete instructions." 80 81# make may get confused with test/ and install/ 82dummy: 83 84# echo config parameters 85echo: 86 @cd src && $(MAKE) -s echo 87 @echo "PLAT= $(PLAT)" 88 @echo "V= $V" 89 @echo "R= $R" 90 @echo "TO_BIN= $(TO_BIN)" 91 @echo "TO_INC= $(TO_INC)" 92 @echo "TO_LIB= $(TO_LIB)" 93 @echo "TO_MAN= $(TO_MAN)" 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 104# echo pkg-config data 105pc: 106 @echo "version=$R" 107 @echo "prefix=$(INSTALL_TOP)" 108 @echo "libdir=$(INSTALL_LIB)" 109 @echo "includedir=$(INSTALL_INC)" 110 111# list targets that do not create files (but not all makes understand .PHONY) 112.PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho 113 114# (end of Makefile) 115