Makefile 1.7 KB
Newer Older
1
CC = gcc
2
#DEBUG = -O0 -g
3 4
CFLAGS += -std=c99
CFLAGS += -pedantic
5 6 7 8
CFLAGS += -Wall
CFLAGS += -Wextra
CFLAGS += -Werror
CFLAGS += $(DEBUG)
9 10 11 12 13 14 15 16 17
DEFINES = -D UNITY_OUTPUT_CHAR=UnityOutputCharSpy_OutputChar
SRC = ../src/unity_fixture.c \
      ../../../src/unity.c   \
      unity_fixture_Test.c   \
      unity_fixture_TestRunner.c \
      unity_output_Spy.c     \
      main/AllTests.c

INC_DIR = -I../src -I../../../src/
18
TARGET = ../build/fixture_tests.exe
19

20 21
all: default noStdlibMalloc 32bits

22
default: ../build/
23
	$(CC) $(CFLAGS) $(DEFINES) $(SRC) $(INC_DIR) -o $(TARGET)
24 25 26
	@ echo "default build"
	./$(TARGET)

27
32bits: ../build/
28 29
	$(CC) $(CFLAGS) $(DEFINES) $(SRC) $(INC_DIR) -o $(TARGET) -m32
	@ echo "32bits build"
30
	./$(TARGET)
31

32
noStdlibMalloc: ../build/
33 34 35 36
	$(CC) $(CFLAGS) $(DEFINES) $(SRC) $(INC_DIR) -o $(TARGET) -D UNITY_EXCLUDE_STDLIB_MALLOC
	@ echo "build with noStdlibMalloc"
	./$(TARGET)

37 38 39 40 41
clang89: ../build/
	clang $(CFLAGS) $(DEFINES) $(SRC) $(INC_DIR) -o $(TARGET) -m32 -std=c89 -Wno-comment
	clang $(CFLAGS) $(DEFINES) $(SRC) $(INC_DIR) -o $(TARGET) -m32 \
		-D UNITY_EXCLUDE_STDLIB_MALLOC -std=c89 -Wno-comment ; ./$(TARGET)

42
clangEverything:
43
	clang $(CFLAGS) $(DEFINES) $(SRC) $(INC_DIR) -o $(TARGET) -m64 -Weverything
44 45 46

../build :
	mkdir -p ../build
47 48 49 50 51 52 53

clean:
	rm -f $(TARGET)

# These extended flags DO get included before any target build runs
CFLAGS += -Wbad-function-cast
CFLAGS += -Wcast-qual
54
CFLAGS += -Wconversion
55 56 57 58 59 60 61 62 63
CFLAGS += -Wformat=2
CFLAGS += -Wmissing-prototypes
CFLAGS += -Wold-style-definition
CFLAGS += -Wpointer-arith
CFLAGS += -Wshadow
CFLAGS += -Wstrict-overflow=5
CFLAGS += -Wstrict-prototypes
CFLAGS += -Wswitch-default
CFLAGS += -Wundef
64
CFLAGS += -Wno-error=undef  # Warning only, this should not stop the build
65 66
CFLAGS += -Wunused
CFLAGS += -fstrict-aliasing