1 # makefile for installing Lua 2 # see INSTALL for installation instructions 3 # see src/Makefile and src/luaconf.h for further customization 4 5 # == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT ======================= 6 7 # Your platform. See PLATS for possible values. 8 PLAT= none 9 10 # Where to install. The installation starts in the src and doc directories, 11 # so take care if INSTALL_TOP is not an absolute path. 12 INSTALL_TOP= /usr/local 13 INSTALL_BIN= $(INSTALL_TOP)/bin 14 INSTALL_INC= $(INSTALL_TOP)/include 15 INSTALL_LIB= $(INSTALL_TOP)/lib 16 INSTALL_MAN= $(INSTALL_TOP)/man/man1 17 # 18 # You probably want to make INSTALL_LMOD and INSTALL_CMOD consistent with 19 # LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h (and also with etc/lua.pc). 20 INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V 21 INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V 22 23 # How to install. If your install program does not support "-p", then you 24 # may have to run ranlib on the installed liblua.a (do "make ranlib"). 25 INSTALL= install -p 26 INSTALL_EXEC= $(INSTALL) -m 0755 27 INSTALL_DATA= $(INSTALL) -m 0644 28 # 29 # If you don't have install you can use cp instead. 30 # INSTALL= cp -p 31 # INSTALL_EXEC= $(INSTALL) 32 # INSTALL_DATA= $(INSTALL) 33 34 # Utilities. 35 MKDIR= mkdir -p 36 RANLIB= ranlib 37 38 # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE ========= 39 40 # Convenience platforms targets. 41 PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris 42 43 # What to install. 44 TO_BIN= lua luac 45 TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp 46 TO_LIB= liblua.a 47 TO_MAN= lua.1 luac.1 48 49 # Lua version and release. 50 V= 5.1 51 R= 5.1.4 52 53 all: $(PLAT) 54 55 $(PLATS) clean: 56 cd src && $(MAKE) $@ 57 58 test: dummy 59 src/lua test/hello.lua 60 61 install: dummy 62 cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD) 63 cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN) 64 cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) 65 cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB) 66 cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN) 67 68 ranlib: 69 cd src && cd $(INSTALL_LIB) && $(RANLIB) $(TO_LIB) 70 71 local: 72 $(MAKE) install INSTALL_TOP=.. 73 74 none: 75 @echo "Please do" 76 @echo " make PLATFORM" 77 @echo "where PLATFORM is one of these:" 78 @echo " $(PLATS)" 79 @echo "See INSTALL for complete instructions." 80 81 # make may get confused with test/ and INSTALL in a case-insensitive OS 82 dummy: 83 84 # echo config parameters 85 echo: 86 @echo "" 87 @echo "These are the parameters currently set in src/Makefile to build Lua $R:" 88 @echo "" 89 @cd src && $(MAKE) -s echo 90 @echo "" 91 @echo "These are the parameters currently set in Makefile to install Lua $R:" 92 @echo "" 93 @echo "PLAT = $(PLAT)" 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 @echo "" 104 @echo "See also src/luaconf.h ." 105 @echo "" 106 107 # echo private config parameters 108 pecho: 109 @echo "V = $(V)" 110 @echo "R = $(R)" 111 @echo "TO_BIN = $(TO_BIN)" 112 @echo "TO_INC = $(TO_INC)" 113 @echo "TO_LIB = $(TO_LIB)" 114 @echo "TO_MAN = $(TO_MAN)" 115 116 # echo config parameters as Lua code 117 # uncomment the last sed expression if you want nil instead of empty strings 118 lecho: 119 @echo "-- installation parameters for Lua $R" 120 @echo "VERSION = '$V'" 121 @echo "RELEASE = '$R'" 122 @$(MAKE) echo | grep = | sed -e 's/= /= "/' -e 's/$$/"/' #-e 's/""/nil/' 123 @echo "-- EOF" 124 125 # list targets that do not create files (but not all makes understand .PHONY) 126 .PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho 127 128 # (end of Makefile) 129