# GNU Make solution makefile autogenerated by GENie
# Type "make help" for usage help

ifndef config
  config=debug32
endif
export config

PROJECTS := JSImpl JSLib Test dummy_gc gmock gtest gtest_main leak_gc spasm spasm_lib sprt sprun test_bench

.PHONY: all clean help $(PROJECTS)

all: $(PROJECTS)

Test: sprt spasm_lib JSLib gtest gmock gtest_main
	@echo "==== Building Test ($(config)) ===="
	@${MAKE} --no-print-directory -C . -f Test.make

gtest: 
	@echo "==== Building gtest ($(config)) ===="
	@${MAKE} --no-print-directory -C . -f gtest.make

gmock: 
	@echo "==== Building gmock ($(config)) ===="
	@${MAKE} --no-print-directory -C . -f gmock.make

gtest_main: 
	@echo "==== Building gtest_main ($(config)) ===="
	@${MAKE} --no-print-directory -C . -f gtest_main.make

JSLib: 
	@echo "==== Building JSLib ($(config)) ===="
	@${MAKE} --no-print-directory -C . -f JSLib.make

JSImpl: JSLib
	@echo "==== Building JSImpl ($(config)) ===="
	@${MAKE} --no-print-directory -C . -f JSImpl.make

sprt: 
	@echo "==== Building sprt ($(config)) ===="
	@${MAKE} --no-print-directory -C . -f sprt.make

spasm_lib: 
	@echo "==== Building spasm_lib ($(config)) ===="
	@${MAKE} --no-print-directory -C . -f spasm_lib.make

spasm: spasm_lib
	@echo "==== Building spasm ($(config)) ===="
	@${MAKE} --no-print-directory -C . -f spasm.make

sprun: sprt
	@echo "==== Building sprun ($(config)) ===="
	@${MAKE} --no-print-directory -C . -f sprun.make

test_bench: 
	@echo "==== Building test_bench ($(config)) ===="
	@${MAKE} --no-print-directory -C . -f test_bench.make

leak_gc: test_bench
	@echo "==== Building leak_gc ($(config)) ===="
	@${MAKE} --no-print-directory -C . -f leak_gc.make

dummy_gc: test_bench
	@echo "==== Building dummy_gc ($(config)) ===="
	@${MAKE} --no-print-directory -C . -f dummy_gc.make

clean:
	@${MAKE} --no-print-directory -C . -f Test.make clean
	@${MAKE} --no-print-directory -C . -f gtest.make clean
	@${MAKE} --no-print-directory -C . -f gmock.make clean
	@${MAKE} --no-print-directory -C . -f gtest_main.make clean
	@${MAKE} --no-print-directory -C . -f JSLib.make clean
	@${MAKE} --no-print-directory -C . -f JSImpl.make clean
	@${MAKE} --no-print-directory -C . -f sprt.make clean
	@${MAKE} --no-print-directory -C . -f spasm_lib.make clean
	@${MAKE} --no-print-directory -C . -f spasm.make clean
	@${MAKE} --no-print-directory -C . -f sprun.make clean
	@${MAKE} --no-print-directory -C . -f test_bench.make clean
	@${MAKE} --no-print-directory -C . -f leak_gc.make clean
	@${MAKE} --no-print-directory -C . -f dummy_gc.make clean

help:
	@echo "Usage: make [config=name] [target]"
	@echo ""
	@echo "CONFIGURATIONS:"
	@echo "   debug32"
	@echo "   release32"
	@echo "   debug64"
	@echo "   release64"
	@echo ""
	@echo "TARGETS:"
	@echo "   all (default)"
	@echo "   clean"
	@echo "   Test"
	@echo "   gtest"
	@echo "   gmock"
	@echo "   gtest_main"
	@echo "   JSLib"
	@echo "   JSImpl"
	@echo "   sprt"
	@echo "   spasm_lib"
	@echo "   spasm"
	@echo "   sprun"
	@echo "   test_bench"
	@echo "   leak_gc"
	@echo "   dummy_gc"
	@echo ""
	@echo "For more information, see https://github.com/bkaradzic/genie"
