Init
This commit is contained in:
39
Makefile
Normal file
39
Makefile
Normal file
@@ -0,0 +1,39 @@
|
||||
.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))
|
||||
PROJ := edith_boles_$(notdir $(PWD))
|
||||
|
||||
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
|
||||
|
||||
zip: clean
|
||||
mkdir -p .artifacts/$(PROJ)
|
||||
cp -r * .artifacts/$(PROJ)
|
||||
cd .artifacts && zip -r ../$(PROJ).zip $(PROJ)
|
||||
|
||||
-include $(OBJS:.o=.d)
|
||||
Reference in New Issue
Block a user