| # |
| # Copyright (c) Vicent Marti. All rights reserved. |
| # |
| # This file is part of clar, distributed under the ISC license. |
| # For full terms see the included COPYING file. |
| # |
| |
| # |
| # Set up the path to the clar sources and to the fixtures directory |
| # |
| # The fixture path needs to be an absolute path so it can be used |
| # even after we have chdir'ed into the test directory while testing. |
| # |
| CURRENT_MAKEFILE := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) |
| TEST_DIRECTORY := $(abspath $(dir $(CURRENT_MAKEFILE))) |
| CLAR_PATH := $(dir $(TEST_DIRECTORY)) |
| CLAR_FIXTURE_PATH := $(TEST_DIRECTORY)/resources/ |
| |
| CFLAGS=-g -I.. -I. -Wall -DCLAR_FIXTURE_PATH=\"$(CLAR_FIXTURE_PATH)\" |
| |
| .PHONY: clean |
| |
| # list the objects that go into our test |
| objects = main.o sample.o |
| |
| # build the test executable itself |
| clar_test: $(objects) clar_test.h clar.suite $(CLAR_PATH)clar.c |
| $(CC) $(CFLAGS) -o $@ "$(CLAR_PATH)clar.c" $(objects) |
| |
| # test object files depend on clar macros |
| $(objects) : $(CLAR_PATH)clar.h |
| |
| # build the clar.suite file of test metadata |
| clar.suite: |
| python "$(CLAR_PATH)generate.py" . |
| |
| # remove all generated files |
| clean: |
| $(RM) -rf *.o clar.suite .clarcache clar_test clar_test.dSYM |