74 lines
1.9 KiB
Makefile
74 lines
1.9 KiB
Makefile
CC = gcc
|
|
FLAGS = -g -Wall -lm
|
|
|
|
ifeq ($(OS),Windows_NT)
|
|
include makefile_windows.variables
|
|
else
|
|
UNAME = $(shell uname)
|
|
ifeq ($(UNAME),Linux)
|
|
include makefile_linux.variables
|
|
else
|
|
include makefile_mac.variables
|
|
endif
|
|
endif
|
|
|
|
raylibfolder = ./raylib
|
|
unityfolder = ./unity
|
|
|
|
# --------------------------
|
|
# Initiales Programm bauen (zum ausprobieren)
|
|
# --------------------------
|
|
doble_initial:
|
|
$(CC) -o doble_initial $(BINARIES)/libdoble_complete.a
|
|
|
|
# --------------------------
|
|
# Selbst implementiertes Programm bauen
|
|
# --------------------------
|
|
program_obj_files = stack.o bintree.o numbers.o timer.o highscore.o
|
|
|
|
doble : main.o $(program_obj_files)
|
|
$(CC) $(FLAGS) $^ -o doble
|
|
|
|
$(program_obj_files): %.o: %.c
|
|
$(CC) -c $(FLAGS) $^ -o $@
|
|
|
|
# --------------------------
|
|
# Unit Tests
|
|
# --------------------------
|
|
|
|
STACK_TEST_BIN = runStackTests
|
|
NUMBERS_TEST_BIN = runNumbersTests
|
|
BINARY_TEST_BIN = runBinaryTests
|
|
|
|
# --- Stack Tests ---
|
|
stackTests: stack.o test_stack.o
|
|
$(CC) $(FLAGS) -I$(unityfolder) -o $(STACK_TEST_BIN) \
|
|
stack.o test_stack.o $(unityfolder)/unity.c
|
|
|
|
test_stack.o: test_stack.c
|
|
$(CC) $(FLAGS) -I$(unityfolder) -c test_stack.c -o test_stack.o
|
|
|
|
|
|
# --- Numbers Tests ---
|
|
numbersTests: numbers.o bintree.o stack.o test_numbers.o
|
|
$(CC) $(FLAGS) -I$(unityfolder) -o $(NUMBERS_TEST_BIN) \
|
|
numbers.o bintree.o stack.o test_numbers.o $(unityfolder)/unity.c
|
|
|
|
test_numbers.o: test_numbers.c
|
|
$(CC) $(FLAGS) -I$(unityfolder) -c test_numbers.c -o test_numbers.o
|
|
|
|
|
|
# --- Binary Tree Tests ---
|
|
binaryTests: bintree.o stack.o test_binary.o
|
|
$(CC) $(FLAGS) -I$(unityfolder) -o $(BINARY_TEST_BIN) \
|
|
bintree.o stack.o test_binary.o $(unityfolder)/unity.c
|
|
|
|
test_binary.o: test_binary.c
|
|
$(CC) $(FLAGS) -I$(unityfolder) -c test_binary.c -o test_binary.o
|
|
|
|
|
|
# --------------------------
|
|
# Clean
|
|
# --------------------------
|
|
clean:
|
|
rm -f *.o doble $(STACK_TEST_BIN) $(NUMBERS_TEST_BIN) $(BINARY_TEST_BIN)
|