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) rrors via 'report-load-error'....* build-aux/compile-all.scm: Wrap 'compile-files' call in 'catch'. Attempt to resort to 'report-load-error' in (guix ui) to print the error. Ludovic Courtès 2019-04-19build: Show completion percentage while building....* build-aux/compile-all.scm (%): New procedure. (command-line): Use it to report completion. Ludovic Courtès 2017-11-28build: Explicitly flush the "LOAD" and "GUILEC" lines....* build-aux/compile-all.scm <top level>: Add calls to 'force-output' in the #:report-load and #:report-compilation procedures. Fixes a regression introduced in 2890ad332fcdfd4bc92b127d783975437c8b718b whereby compilation output would be buffered, leading to a weird visual effect. Ludovic Courtès 2017-10-22build: Honor make's '-j' flag....* build-aux/compile-all.scm (parallel-job-count): New procedure. <top level>: Pass it to 'compile-files' as #:workers. Ludovic Courtès 2017-10-22build: Factorize module compilation in (guix build compile)....* guix/build/compile.scm: New file. * Makefile.am (MODULES): Add it. * build-aux/compile-all.scm: Use it. (warnings, file->module, load-module-file) (%default-optimizations, %lightweight-optimizations) (optimization-options, compile-file*): Remove. <top level>: Use 'compile-files'. * guix/build/pull.scm (%default-optimizations) (%lightweight-optimizations, optimization-options): Remove. (build-guix): Rewrite as a call to 'compile-files'. * guix/discovery.scm (file-name->module-name): Export. Ludovic Courtès 2017-09-08build: Use -Wmacro-use-before-definition....* build-aux/compile-all.scm (warnings): Add 'macro-use-before-definition'. Ludovic Courtès