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. 7 PLAT= 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. 13 INSTALL_TOP= /usr/local 14 INSTALL_BIN= $(INSTALL_TOP)/bin 15 INSTALL_INC= $(INSTALL_TOP)/include 16 INSTALL_LIB= $(INSTALL_TOP)/lib 17 INSTALL_MAN= $(INSTALL_TOP)/man/man1 18 INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V 19 INSTALL_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. 23 INSTALL= install -p 24 INSTALL_EXEC= $(INSTALL) -m 0755 25 INSTALL_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. 33 MKDIR= mkdir -p 34 RM= rm -f 35 36 # == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE ======= 37 38 # Convenience platforms targets. 39 PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris 40 41 # What to install. 42 TO_BIN= lua luac 43 TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp 44 TO_LIB= liblua.a 45 TO_MAN= lua.1 luac.1 46 47 # Lua version and release. 48 V= 5.2 49 R= $V.3 50 51 # Targets start here. 52 all: $(PLAT) 53 54 $(PLATS) clean: 55 cd src && $(MAKE) $@ 56 57 test: dummy 58 src/lua -v 59 60 install: 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 67 uninstall: 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 73 local: 74 $(MAKE) install INSTALL_TOP=../install 75 76 none: 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/ 82 dummy: 83 84 # echo config parameters 85 echo: 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 105 pc: 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