makefile gefixt

This commit is contained in:
Simon Ehrnsperger 2025-12-15 10:28:12 +01:00
parent 6600b12893
commit e316a4a785

View File

@ -19,7 +19,7 @@ unityfolder = ./unity
# Initiales Programm bauen (zum ausprobieren)
# --------------------------
doble_initial:
$(CC) -o doble_initial $(BINARIES)/libdoble_complete.a
$(CC) -o doble_initial $(BINARIES)/libdoble_complete.a
# --------------------------
# Selbst implementiertes Programm bauen
@ -27,7 +27,7 @@ doble_initial:
program_obj_files = main.o stack.o bintree.o numbers.o timer.o highscore.o
doble : $(program_obj_files)
$(CC) $(CFLAGS) $^ -o doble
$(CC) $(CFLAGS) $^ -o doble
# --------------------------
@ -38,52 +38,52 @@ TEST_NUMBERS_EXEC = runtest_numbers.exe # NEU: Ausführbare Datei für numbers-T
.PHONY: unitTests
unitTests: $(TEST_STACK_EXEC) $(TEST_NUMBERS_EXEC)
@echo "=========================================="
@echo "--- Starte ALLE Unit Tests ---"
@echo "=========================================="
@echo "=========================================="
@echo "--- Starte ALLE Unit Tests ---"
@echo "=========================================="
@echo "\n--- Starte Stack Unit Tests ---"
@echo "Versuche auszuführen: $(TEST_STACK_EXEC)"
$(TEST_STACK_EXEC)
@echo "--- Stack Unit Tests abgeschlossen ---\n"
@echo "\n--- Starte Stack Unit Tests ---"
@echo "Versuche auszuführen: $(TEST_STACK_EXEC)"
$(TEST_STACK_EXEC)
@echo "--- Stack Unit Tests abgeschlossen ---\n"
@echo "--- Starte Numbers Unit Tests ---"
@echo "Versuche auszuführen: $(TEST_NUMBERS_EXEC)"
$(TEST_NUMBERS_EXEC)
@echo "--- Numbers Unit Tests abgeschlossen ---"
@echo "--- Starte Numbers Unit Tests ---"
@echo "Versuche auszuführen: $(TEST_NUMBERS_EXEC)"
$(TEST_NUMBERS_EXEC)
@echo "--- Numbers Unit Tests abgeschlossen ---"
# --- Regeln für Stack-Tests (Unverändert) ---
$(TEST_STACK_EXEC): test_stack.o stack.o
$(CC) $(CFLAGS) -I$(unityfolder) test_stack.o stack.o $(unityfolder)/unity.c -o $@ $(BINARIES)/libdoble_complete.a
$(CC) $(CFLAGS) -I$(unityfolder) test_stack.o stack.o $(unityfolder)/unity.c -o $@ $(BINARIES)/libdoble_complete.a
test_stack.o: test_stack.c
$(CC) -c $(CFLAGS) -I$(unityfolder) $< -o $@
$(CC) -c $(CFLAGS) -I$(unityfolder) $< -o $@
# --- Regeln für Numbers-Tests (Nach Muster gebaut, ohne NUMBERS_TEST_OBJ) ---
# Linken des Numbers-Test-Executables. Die Abhängigkeiten sind explizit gelistet.
$(TEST_NUMBERS_EXEC): numbersTests.o numbers.o bintree.o stack.o
# Linkt Test-Objekt, die Implementierung und Abhängigkeiten (bintree, stack) + Unity + Bibliothek
$(CC) $(CFLAGS) -I$(unityfolder) numbersTests.o numbers.o bintree.o stack.o $(unityfolder)/unity.c -o $@ $(BINARIES)/libdoble_complete.a
$(CC) $(CFLAGS) -I$(unityfolder) numbersTests.o numbers.o bintree.o stack.o $(unityfolder)/unity.c -o $@ $(BINARIES)/libdoble_complete.a
# Kompilierung der Numbers-Test-Datei.
numbersTests.o: numbersTests.c
$(CC) -c $(CFLAGS) -I$(unityfolder) $< -o $@
$(CC) -c $(CFLAGS) -I$(unityfolder) $< -o $@
# --------------------------
# Generische Regel für .o-Dateien (Beibehalten)
# --------------------------
%.o: %.c
$(CC) -c $(CFLAGS) $< -o $@
$(CC) -c $(CFLAGS) $< -o $@
# --------------------------
# Clean
# --------------------------
clean:
ifeq ($(OS),Windows_NT)
del /f *.o *.exe doble $(TEST_STACK_EXEC) $(TEST_NUMBERS_EXEC)
del /f *.o *.exe doble $(TEST_STACK_EXEC) $(TEST_NUMBERS_EXEC)
else
rm -f *.o *.exe doble $(TEST_STACK_EXEC) $(TEST_NUMBERS_EXEC)
rm -f *.o *.exe doble $(TEST_STACK_EXEC) $(TEST_NUMBERS_EXEC)
endif
# --- PHONY-Ziele am Ende (Erweitert und bereinigt) ---