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 ios 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.8
 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)