# Alternative GNU Make workspace makefile autogenerated by Premake

ifndef config
  config=release
endif

ifndef verbose
  SILENT = @
endif

ifeq ($(config),release)
  Premake5_config = release
  lua_lib_config = release
  luashim_lib_config = release
  zlib_lib_config = release
  zip_lib_config = release
  mbedtls_lib_config = release
  curl_lib_config = release
  example_config = release
  luasocket_config = release

else ifeq ($(config),debug)
  Premake5_config = debug
  lua_lib_config = debug
  luashim_lib_config = debug
  zlib_lib_config = debug
  zip_lib_config = debug
  mbedtls_lib_config = debug
  curl_lib_config = debug
  example_config = debug
  luasocket_config = debug

else
  $(error "invalid configuration $(config)")
endif

PROJECTS := Premake5 lua-lib luashim-lib zlib-lib zip-lib mbedtls-lib curl-lib example luasocket

.PHONY: all clean help $(PROJECTS) Binary Modules contrib

all: $(PROJECTS)

Binary Modules: example luasocket

contrib: curl-lib lua-lib luashim-lib mbedtls-lib zip-lib zlib-lib

Premake5: lua-lib zip-lib zlib-lib curl-lib mbedtls-lib
ifneq (,$(Premake5_config))
	@echo "==== Building Premake5 ($(Premake5_config)) ===="
	@${MAKE} --no-print-directory -C . -f Premake5.make config=$(Premake5_config)
endif

lua-lib:
ifneq (,$(lua_lib_config))
	@echo "==== Building lua-lib ($(lua_lib_config)) ===="
	@${MAKE} --no-print-directory -C . -f lua-lib.make config=$(lua_lib_config)
endif

luashim-lib:
ifneq (,$(luashim_lib_config))
	@echo "==== Building luashim-lib ($(luashim_lib_config)) ===="
	@${MAKE} --no-print-directory -C . -f luashim-lib.make config=$(luashim_lib_config)
endif

zlib-lib:
ifneq (,$(zlib_lib_config))
	@echo "==== Building zlib-lib ($(zlib_lib_config)) ===="
	@${MAKE} --no-print-directory -C . -f zlib-lib.make config=$(zlib_lib_config)
endif

zip-lib:
ifneq (,$(zip_lib_config))
	@echo "==== Building zip-lib ($(zip_lib_config)) ===="
	@${MAKE} --no-print-directory -C . -f zip-lib.make config=$(zip_lib_config)
endif

mbedtls-lib:
ifneq (,$(mbedtls_lib_config))
	@echo "==== Building mbedtls-lib ($(mbedtls_lib_config)) ===="
	@${MAKE} --no-print-directory -C . -f mbedtls-lib.make config=$(mbedtls_lib_config)
endif

curl-lib:
ifneq (,$(curl_lib_config))
	@echo "==== Building curl-lib ($(curl_lib_config)) ===="
	@${MAKE} --no-print-directory -C . -f curl-lib.make config=$(curl_lib_config)
endif

example: luashim-lib
ifneq (,$(example_config))
	@echo "==== Building example ($(example_config)) ===="
	@${MAKE} --no-print-directory -C . -f example.make config=$(example_config)
endif

luasocket: luashim-lib
ifneq (,$(luasocket_config))
	@echo "==== Building luasocket ($(luasocket_config)) ===="
	@${MAKE} --no-print-directory -C . -f luasocket.make config=$(luasocket_config)
endif

clean:
	@${MAKE} --no-print-directory -C . -f Premake5.make clean
	@${MAKE} --no-print-directory -C . -f lua-lib.make clean
	@${MAKE} --no-print-directory -C . -f luashim-lib.make clean
	@${MAKE} --no-print-directory -C . -f zlib-lib.make clean
	@${MAKE} --no-print-directory -C . -f zip-lib.make clean
	@${MAKE} --no-print-directory -C . -f mbedtls-lib.make clean
	@${MAKE} --no-print-directory -C . -f curl-lib.make clean
	@${MAKE} --no-print-directory -C . -f example.make clean
	@${MAKE} --no-print-directory -C . -f luasocket.make clean

help:
	@echo "Usage: make [config=name] [target]"
	@echo ""
	@echo "CONFIGURATIONS:"
	@echo "  release"
	@echo "  debug"
	@echo ""
	@echo "TARGETS:"
	@echo "   all (default)"
	@echo "   clean"
	@echo "   Premake5"
	@echo "   lua-lib"
	@echo "   luashim-lib"
	@echo "   zlib-lib"
	@echo "   zip-lib"
	@echo "   mbedtls-lib"
	@echo "   curl-lib"
	@echo "   example"
	@echo "   luasocket"
	@echo ""
	@echo "For more information, see https://github.com/premake/premake-core/wiki"