CC = gcc CFLAGS = -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) $(CFLAGS) $^ -o doble $(program_obj_files): %.o: %.c $(CC) -c $(CFLAGS) $^ -o $@ # -------------------------- # Unit Tests # -------------------------- TEST_STACK_SOURCES = stack.c test_stack.c $(unityfolder)/unity.c TEST_BINTREE_SOURCES = bintree.c test_bintree.c stack.c $(unityfolder)/unity.c TEST_NUMBERS_SOURCES = stack.c numbers.c bintree.c $(unityfolder)/unity.c test_numbers.c stackTests: $(TEST_STACK_SOURCES) stack.h $(CC) $(CFLAGS) -I$(unityfolder) $(TEST_STACK_SOURCES) -o runStackTests ./runStackTests bintreeTests: $(TEST_BINTREE_SOURCES) stack.h bintree.h $(CC) $(CFLAGS) -I$(unityfolder) $(TEST_BINTREE_SOURCES) -o runBintreeTests ./runBintreeTests numbersTests: $(TEST_NUMBERS_SOURCES) stack.h bintree.h numbers.h $(CC) $(CFLAGS) -I$(unityfolder) $(TEST_NUMBERS_SOURCES) -o runNumbersTests ./runNumbersTests # -------------------------- # Clean # -------------------------- clean: ifeq ($(OS),Windows_NT) del /f *.o doble else rm -f *.o doble endif