From 9fe39a2c099f8c4c4f0782716142404e6aad6080 Mon Sep 17 00:00:00 2001 From: Levent Kaya Date: Tue, 4 Nov 2025 12:42:25 +0300 Subject: [build] cmake to makefile conversion --- Makefile | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 Makefile (limited to 'Makefile') diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..7861b84 --- /dev/null +++ b/Makefile @@ -0,0 +1,59 @@ +# Makefile for fbglExamples + +# Project settings +PROJECT = fbglExamples +FBGL_HEADER = fbgl.h +EXAMPLES_DIR = examples + +# Compiler settings +CC = gcc +CFLAGS = -std=c99 -Wall -Wextra -Wpedantic -I. -D_POSIX_C_SOURCE=200112L -D_DEFAULT_SOURCE +LDFLAGS = -lm + +# Find freetype2 using pkg-config +FREETYPE2_CFLAGS = $(shell pkg-config --cflags freetype2) +FREETYPE2_LIBS = $(shell pkg-config --libs freetype2) + +# Combine flags +CFLAGS += $(FREETYPE2_CFLAGS) +LDFLAGS += $(FREETYPE2_LIBS) + +# Example programs +EXAMPLES = line rectangle red texture framebuf_info text texture_show_fps circle player ray_casting + +# Targets +EXAMPLE_BINS = $(EXAMPLES) +RUN_TARGETS = $(addprefix run_, $(EXAMPLES)) + +# Default target +.PHONY: all +all: $(EXAMPLE_BINS) + +# Build each example +$(EXAMPLE_BINS): %: $(EXAMPLES_DIR)/%.c $(FBGL_HEADER) + $(CC) $(CFLAGS) -o $@ $< $(LDFLAGS) + +# Run individual examples +.PHONY: $(RUN_TARGETS) +$(RUN_TARGETS): run_%: % + ./$< + +# Run all examples +.PHONY: run-examples +run-examples: $(RUN_TARGETS) + +# Clean build artifacts +.PHONY: clean +clean: + rm -f $(EXAMPLE_BINS) + +# Help target +.PHONY: help +help: + @echo "Available targets:" + @echo " all - Build all examples (default)" + @echo " run-examples - Run all examples" + @echo " run_ - Run specific example (e.g., make run_line)" + @echo " clean - Remove built executables" + @echo "" + @echo "Examples: $(EXAMPLES)" \ No newline at end of file -- cgit v1.2.3