| 1 | Enables generating Lua's pkg-config file.
|
| 2 |
|
| 3 | http://lua-users.org/lists/lua-l/2015-03/msg00338.html
|
| 4 |
|
| 5 | |
| 6 | |
| 7 | @@ -13,6 +13,7 @@
|
| 8 | INSTALL_BIN= $(INSTALL_TOP)/bin
|
| 9 | INSTALL_INC= $(INSTALL_TOP)/include
|
| 10 | INSTALL_LIB= $(INSTALL_TOP)/lib
|
| 11 | +INSTALL_PC= $(INSTALL_LIB)/pkgconfig
|
| 12 | INSTALL_MAN= $(INSTALL_TOP)/man/man1
|
| 13 | #
|
| 14 | # You probably want to make INSTALL_LMOD and INSTALL_CMOD consistent with
|
| 15 | @@ -41,9 +42,12 @@
|
| 16 | PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
|
| 17 |
|
| 18 | # What to install.
|
| 19 | -TO_BIN= lua luac
|
| 20 | +INTERPRETER= lua
|
| 21 | +COMPILER= luac
|
| 22 | +TO_BIN= $(INTERPRETER) $(COMPILER)
|
| 23 | TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp
|
| 24 | TO_LIB= liblua.a liblua.so liblua.so.${V}
|
| 25 | +TO_PC= lua-$(V).pc
|
| 26 | TO_MAN= lua.1 luac.1
|
| 27 |
|
| 28 | # Lua version and release.
|
| 29 | @@ -52,17 +56,22 @@
|
| 30 |
|
| 31 | all: $(PLAT)
|
| 32 |
|
| 33 | -$(PLATS) clean:
|
| 34 | +$(PLATS):
|
| 35 | cd src && $(MAKE) $@ V=$(V) R=$(R)
|
| 36 |
|
| 37 | +clean:
|
| 38 | + cd src && $(MAKE) $@
|
| 39 | + $(RM) $(TO_PC)
|
| 40 | +
|
| 41 | test: dummy
|
| 42 | src/lua test/hello.lua
|
| 43 |
|
| 44 | -install: dummy
|
| 45 | - cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
|
| 46 | +install: dummy $(TO_PC)
|
| 47 | + cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_PC) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
|
| 48 | cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
|
| 49 | cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
|
| 50 | cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
|
| 51 | + cd src && $(INSTALL_DATA) ../$(TO_PC) $(INSTALL_PC)
|
| 52 | cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
|
| 53 |
|
| 54 | ranlib:
|
| 55 | @@ -95,6 +104,7 @@
|
| 56 | @echo "INSTALL_BIN = $(INSTALL_BIN)"
|
| 57 | @echo "INSTALL_INC = $(INSTALL_INC)"
|
| 58 | @echo "INSTALL_LIB = $(INSTALL_LIB)"
|
| 59 | + @echo "INSTALL_PC = $(INSTALL_PC)"
|
| 60 | @echo "INSTALL_MAN = $(INSTALL_MAN)"
|
| 61 | @echo "INSTALL_LMOD = $(INSTALL_LMOD)"
|
| 62 | @echo "INSTALL_CMOD = $(INSTALL_CMOD)"
|
| 63 | @@ -111,6 +121,7 @@
|
| 64 | @echo "TO_BIN = $(TO_BIN)"
|
| 65 | @echo "TO_INC = $(TO_INC)"
|
| 66 | @echo "TO_LIB = $(TO_LIB)"
|
| 67 | + @echo "TO_PC = $(TO_PC)"
|
| 68 | @echo "TO_MAN = $(TO_MAN)"
|
| 69 |
|
| 70 | # echo config parameters as Lua code
|
| 71 | @@ -122,7 +133,29 @@
|
| 72 | @$(MAKE) echo | grep = | sed -e 's/= /= "/' -e 's/$$/"/' #-e 's/""/nil/'
|
| 73 | @echo "-- EOF"
|
| 74 |
|
| 75 | +pc:
|
| 76 | + @echo 'prefix=$(INSTALL_TOP)'
|
| 77 | + @echo 'libdir=$(INSTALL_LIB)'
|
| 78 | + @echo 'includedir=$(INSTALL_INC)'
|
| 79 | + @echo 'bindir=$(INSTALL_BIN)'
|
| 80 | + @echo
|
| 81 | + @echo 'INSTALL_LMOD=$(INSTALL_LMOD)'
|
| 82 | + @echo 'INSTALL_CMOD=$(INSTALL_CMOD)'
|
| 83 | + @echo 'INTERPRETER=$${bindir}/$(INTERPRETER)'
|
| 84 | + @echo 'COMPILER=$${bindir}/$(COMPILER)'
|
| 85 | + @echo
|
| 86 | + @echo 'Name: Lua'
|
| 87 | + @echo 'Description: A powerful, fast, lightweight, embeddable scripting language'
|
| 88 | + @echo 'Version: $(R)'
|
| 89 | + @echo
|
| 90 | + @echo 'Libs: -L$${libdir} -llua -lm'
|
| 91 | + @echo 'Cflags: -I$${includedir}'
|
| 92 | +
|
| 93 | +pkg-config: $(TO_PC)
|
| 94 | +$(TO_PC):
|
| 95 | + @$(MAKE) -s pc > $@
|
| 96 | +
|
| 97 | # list targets that do not create files (but not all makes understand .PHONY)
|
| 98 | -.PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho
|
| 99 | +.PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho pkg-config
|
| 100 |
|
| 101 | # (end of Makefile)
|