blob: 119110d2f01054adddec43ea75dba1a744e7e5f8 [file] [log] [blame]
Lukas Zilka6cdd4002018-12-05 23:30:46 +01001# 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)