Blame build-aux/rockspecs.mk

Packit 437b5e
# Slingshot rockspec rules for make.
Packit 437b5e
Packit 437b5e
# This file is distributed with Slingshot, and licensed under the
Packit 437b5e
# terms of the MIT license reproduced below.
Packit 437b5e
Packit 437b5e
# ==================================================================== #
Packit 437b5e
# Copyright (C) 2013-2015 Reuben Thomas and Gary V. Vaughan                 #
Packit 437b5e
#                                                                      #
Packit 437b5e
# Permission is hereby granted, free of charge, to any person          #
Packit 437b5e
# obtaining a copy of this software and associated documentation       #
Packit 437b5e
# files (the "Software"), to deal in the Software without restriction, #
Packit 437b5e
# including without limitation the rights to use, copy, modify, merge, #
Packit 437b5e
# publish, distribute, sublicense, and/or sell copies of the Software, #
Packit 437b5e
# and to permit persons to whom the Software is furnished to do so,    #
Packit 437b5e
# subject to the following conditions:                                 #
Packit 437b5e
#                                                                      #
Packit 437b5e
# The above copyright notice and this permission notice shall be       #
Packit 437b5e
# included in  all copies or substantial portions of the Software.     #
Packit 437b5e
#                                                                      #
Packit 437b5e
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,      #
Packit 437b5e
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF   #
Packit 437b5e
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGE-   #
Packit 437b5e
# MENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE   #
Packit 437b5e
# FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF   #
Packit 437b5e
# CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION   #
Packit 437b5e
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.      #
Packit 437b5e
# ==================================================================== #
Packit 437b5e
Packit 437b5e
Packit 437b5e
## --------- ##
Packit 437b5e
## LuaRocks. ##
Packit 437b5e
## --------- ##
Packit 437b5e
Packit 437b5e
# This file is suitable for use from a portable Makefile, you might
Packit 437b5e
# include it into the top-level Makefile.am with:
Packit 437b5e
#
Packit 437b5e
#   include build-aux/rockspecs.mk
Packit 437b5e
Packit 437b5e
luarocks_config   = build-aux/luarocks-config.lua
Packit 437b5e
rockspec_conf	  = $(srcdir)/rockspec.conf
Packit 437b5e
mkrockspecs	  = $(srcdir)/build-aux/mkrockspecs
Packit 437b5e
package_rockspec  = $(srcdir)/$(PACKAGE)-$(VERSION)-$(rockspec_revision).rockspec
Packit 437b5e
scm_rockspec      = $(PACKAGE)-git-$(rockspec_revision).rockspec
Packit 437b5e
Packit 437b5e
# If you need a different rockspec revision, override this on the make
Packit 437b5e
# command line:
Packit 437b5e
#
Packit 437b5e
#     make rockspecs rockspec_revision=2
Packit 437b5e
rockspec_revision = 1
Packit 437b5e
Packit 437b5e
LUAROCKS	  = luarocks
Packit 437b5e
MKROCKSPECS	  = $(MKROCKSPECS_ENV) $(LUA) $(mkrockspecs)
Packit 437b5e
Packit 437b5e
ROCKSPECS_DEPS =				\
Packit 437b5e
	$(luarocks_config)			\
Packit 437b5e
	$(mkrockspecs)				\
Packit 437b5e
	$(rockspec_conf)			\
Packit 437b5e
	$(NOTHING_ELSE)
Packit 437b5e
Packit 437b5e
set_LUA_BINDIR = LUA_BINDIR=`which $(LUA) |$(SED) 's|/[^/]*$$||'`
Packit 437b5e
LUA_INCDIR = `cd $$LUA_BINDIR/../include && pwd`
Packit 437b5e
LUA_LIBDIR = `cd $$LUA_BINDIR/../lib && pwd`
Packit 437b5e
Packit 437b5e
$(luarocks_config): Makefile.am
Packit 437b5e
	@test -d build-aux || mkdir build-aux
Packit 437b5e
	$(AM_V_GEN){						\
Packit 437b5e
	  $(set_LUA_BINDIR);					\
Packit 437b5e
	  echo 'rocks_trees = { "$(abs_srcdir)/luarocks" }';	\
Packit 437b5e
	  echo 'variables = {';					\
Packit 437b5e
	  echo '  LUA = "$(LUA)",';				\
Packit 437b5e
	  echo '  LUA_BINDIR = "'$$LUA_BINDIR'",';		\
Packit 437b5e
	  echo '  LUA_INCDIR = "'$(LUA_INCDIR)'",';		\
Packit 437b5e
	  echo '  LUA_LIBDIR = "'$(LUA_LIBDIR)'",';		\
Packit 437b5e
	  echo '}';						\
Packit 437b5e
	} > '$@'
Packit 437b5e
Packit 437b5e
$(package_rockspec): $(ROCKSPECS_DEPS)
Packit 437b5e
	$(AM_V_at)rm -f '$@' 2>/dev/null || :
Packit 437b5e
	$(AM_V_GEN)test -f '$@' ||				\
Packit 437b5e
	  $(MKROCKSPECS) $(mkrockspecs_args)			\
Packit 437b5e
	    $(PACKAGE) $(VERSION) $(rockspec_revision) > '$@'
Packit 437b5e
	$(AM_V_at)$(LUAROCKS) lint '$@'
Packit 437b5e
Packit 437b5e
$(scm_rockspec): $(ROCKSPECS_DEPS)
Packit 437b5e
	$(AM_V_at)rm '$@' 2>/dev/null || :
Packit 437b5e
	$(AM_V_GEN)test -f '$@' ||				\
Packit 437b5e
	  $(MKROCKSPECS) $(mkrockspecs_args)			\
Packit 437b5e
	    $(PACKAGE) git 1 > '$@'
Packit 437b5e
	$(AM_V_at)$(LUAROCKS) lint '$@'
Packit 437b5e
Packit 437b5e
.PHONY: rockspecs
Packit 437b5e
rockspecs:
Packit 437b5e
	$(AM_V_at)rm -f *.rockspec
Packit 437b5e
	$(AM_V_at)$(MAKE) $(package_rockspec) $(scm_rockspec)
Packit 437b5e
Packit 437b5e
Packit 437b5e
## ------------- ##
Packit 437b5e
## Distribution. ##
Packit 437b5e
## ------------- ##
Packit 437b5e
Packit 437b5e
EXTRA_DIST +=						\
Packit 437b5e
	$(mkrockspecs)					\
Packit 437b5e
	$(package_rockspec)				\
Packit 437b5e
	$(rockspec_conf)				\
Packit 437b5e
	$(NOTHING_ELSE)
Packit 437b5e
Packit 437b5e
save_release_files += $(scm_rockspec)
Packit 437b5e
Packit 437b5e
Packit 437b5e
## ------------ ##
Packit 437b5e
## Maintenance. ##
Packit 437b5e
## ------------ ##
Packit 437b5e
Packit 437b5e
DISTCLEANFILES +=					\
Packit 437b5e
	$(luarocks_config)				\
Packit 437b5e
	$(NOTHING_ELSE)