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