Add Makefile
This commit is contained in:
70
src/c_examples/Makefile
Normal file
70
src/c_examples/Makefile
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
# Makefile für Code-Beispiele
|
||||||
|
|
||||||
|
CC = gcc
|
||||||
|
CXX = g++
|
||||||
|
CFLAGS = -Wall -Wextra -std=c99 -g
|
||||||
|
CXXFLAGS = -Wall -Wextra -std=c++17 -g
|
||||||
|
|
||||||
|
MODULES = module1 module2 module3 module4 module5 module6 module7 module8
|
||||||
|
|
||||||
|
.PHONY: all clean test cpp
|
||||||
|
|
||||||
|
all: $(MODULES)
|
||||||
|
|
||||||
|
module1: module1_memory.c
|
||||||
|
$(CC) $(CFLAGS) -o $@ $<
|
||||||
|
@echo "✅ Built: $@"
|
||||||
|
|
||||||
|
module2: module2_datatypes.c
|
||||||
|
$(CC) $(CFLAGS) -o $@ $<
|
||||||
|
@echo "✅ Built: $@"
|
||||||
|
|
||||||
|
module3: module3_controlflow.c
|
||||||
|
$(CC) $(CFLAGS) -o $@ $<
|
||||||
|
@echo "✅ Built: $@"
|
||||||
|
|
||||||
|
module4: module4_functions.c
|
||||||
|
$(CC) $(CFLAGS) -o $@ $< -lm
|
||||||
|
@echo "✅ Built: $@"
|
||||||
|
|
||||||
|
module5: module5_datastructures.c
|
||||||
|
$(CC) $(CFLAGS) -o $@ $<
|
||||||
|
@echo "✅ Built: $@"
|
||||||
|
|
||||||
|
module6: module6_pointers.c
|
||||||
|
$(CC) $(CFLAGS) -o $@ $< -lm
|
||||||
|
@echo "✅ Built: $@"
|
||||||
|
|
||||||
|
module7: module7_oop_in_c.c
|
||||||
|
$(CC) $(CFLAGS) -o $@ $< -lm
|
||||||
|
@echo "✅ Built: $@"
|
||||||
|
|
||||||
|
module8: module8_modularization.c
|
||||||
|
$(CC) $(CFLAGS) -o $@ $< -lm
|
||||||
|
@echo "✅ Built: $@"
|
||||||
|
|
||||||
|
cpp: cpp_comparison/module7_oop_in_cpp.cpp cpp_comparison/module8_stl.cpp
|
||||||
|
$(CXX) $(CXXFLAGS) -o cpp_oop cpp_comparison/module7_oop_in_cpp.cpp
|
||||||
|
$(CXX) $(CXXFLAGS) -o cpp_stl cpp_comparison/module8_stl.cpp
|
||||||
|
@echo "✅ Built C++ examples"
|
||||||
|
|
||||||
|
test: all
|
||||||
|
@echo "\n🧪 Running tests..."
|
||||||
|
@for mod in $(MODULES); do \
|
||||||
|
echo "\n--- Testing $$mod ---"; \
|
||||||
|
./$$mod || exit 1; \
|
||||||
|
done
|
||||||
|
@echo "\n✅ All tests passed!"
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(MODULES) cpp_oop cpp_stl
|
||||||
|
@echo "🧹 Cleaned build artifacts"
|
||||||
|
|
||||||
|
help:
|
||||||
|
@echo "Available targets:"
|
||||||
|
@echo " make all - Build all C modules"
|
||||||
|
@echo " make module1 - Build specific module (1-8)"
|
||||||
|
@echo " make cpp - Build C++ comparison examples"
|
||||||
|
@echo " make test - Build and run all modules"
|
||||||
|
@echo " make clean - Remove build artifacts"
|
||||||
|
@echo " make help - Show this help"
|
||||||
Reference in New Issue
Block a user