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