79 lines
2.0 KiB
Makefile
79 lines
2.0 KiB
Makefile
CC = gcc
|
|
CFLAGS = -g -Wall
|
|
LIBS = -lm
|
|
|
|
ifeq ($(OS),Windows_NT)
|
|
include makefile_windows.variables
|
|
RM_CMD = del /f
|
|
EXT = .exe
|
|
else
|
|
UNAME = $(shell uname)
|
|
ifeq ($(UNAME),Linux)
|
|
include makefile_linux.variables
|
|
else
|
|
include makefile_mac.variables
|
|
endif
|
|
RM_CMD = rm -f
|
|
EXT =
|
|
endif
|
|
|
|
raylibfolder = ./raylib
|
|
unityfolder = ./unity
|
|
|
|
# --------------------------
|
|
# Objekt-Dateien Definition
|
|
# --------------------------
|
|
program_obj_files = stack.o bintree.o numbers.o timer.o highscore.o
|
|
# main.o separat oder hier hinzufügen
|
|
OBJ = main.o $(program_obj_files)
|
|
|
|
# --------------------------
|
|
# Initiales Programm
|
|
# --------------------------
|
|
doble_initial:
|
|
# Hinweis: $(BINARIES) muss in den include-Dateien definiert sein!
|
|
$(CC) -o doble_initial$(EXT) $(BINARIES)/libdoble_complete.a $(LIBS)
|
|
|
|
# --------------------------
|
|
# Hauptprogramm (doble)
|
|
# --------------------------
|
|
doble: $(OBJ)
|
|
# WICHTIG: $(LIBS) ganz am Ende!
|
|
$(CC) $(CFLAGS) $^ -o doble$(EXT) $(LIBS)
|
|
|
|
%.o: %.c
|
|
$(CC) -c $(CFLAGS) $< -o $@
|
|
|
|
# --------------------------
|
|
# Unit Tests
|
|
# --------------------------
|
|
TEST_BIN = test_runner$(EXT)
|
|
|
|
TEST_STACK_BIN = test_stack$(EXT)
|
|
TEST_NUMBERS_BIN = test_numbers$(EXT)
|
|
|
|
testStack: unittest.o stack.o unity/unity.o
|
|
@echo "--- Baue und starte Stack Tests ---"
|
|
$(CC) $(CFLAGS) unittest.o stack.o unity/unity.o -o $(TEST_STACK_BIN) $(LIBS)
|
|
./$(TEST_STACK_BIN)
|
|
|
|
testNumbers: unittestTree.o numbers.o bintree.o stack.o unity/unity.o
|
|
@echo "--- Baue und starte Numbers Tests ---"
|
|
$(CC) $(CFLAGS) unittestTree.o numbers.o bintree.o stack.o unity/unity.o -o $(TEST_NUMBERS_BIN) $(LIBS)
|
|
./$(TEST_NUMBERS_BIN)
|
|
|
|
unittest.o: test_stack.c
|
|
$(CC) -c $(CFLAGS) test_stack.c -o unittest.o
|
|
|
|
unittestTree.o: test_numbers.c
|
|
$(CC) -c $(CFLAGS) test_numbers.c -o unittestTree.o
|
|
|
|
unity/unity.o: unity/unity.c
|
|
$(CC) -c $(CFLAGS) unity/unity.c -o unity/unity.o
|
|
|
|
|
|
# --------------------------
|
|
# Clean
|
|
# --------------------------
|
|
clean:
|
|
$(RM_CMD) *.o doble$(EXT) doble_initial$(EXT) $(TEST_BIN)
|