Files
pm3-lvgl/Makefile
2026-02-27 03:37:17 -08:00

34 lines
683 B
Makefile

.PHONY: all clean build zip
CC := gcc
CFLAGS := -MD -Wall -g -lm -lX11 -I ./inc/
TARGETS := pm3-lvgl
EXES := $(patsubst %,bin/%,$(TARGETS))
SRCS := $(shell find src inc -type f -iname '*.c')
OBJS := $(patsubst src/%.c,obj/%.o,$(patsubst inc/%.c,obj/lib/%.o,$(SRCS)))
NO_BUILD := $(patsubst %,obj/%.o,$(TARGETS))
all: build
build: $(EXES)
$(EXES): bin/%: obj/%.o $(filter-out $(NO_BUILD), $(OBJS))
@mkdir -p $(dir $@)
$(CC) $(CFLAGS) -o $@ $^
obj/%.o: src/%.c
@mkdir -p $(dir $@)
$(CC) $(CFLAGS) -o $@ -c $<
obj/lib/%.o: inc/%.c
@mkdir -p $(dir $@)
$(CC) $(CFLAGS) -o $@ -c $<
clean:
rm -rf bin
rm -rf obj
rm -rf .artifacts
rm -rf $(PROJ).zip
-include $(OBJS:.o=.d)