From d735c3c05ea1640aa9134dc58cdad90310d1cc26 Mon Sep 17 00:00:00 2001 From: Pedro Souza Date: Tue, 2 Apr 2024 17:34:34 -0300 Subject: Added Makefile --- .gitignore | 1 + Makefile | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ main.c | 6 ++++++ 3 files changed, 55 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e660fd9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +bin/ diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..2e857bc --- /dev/null +++ b/Makefile @@ -0,0 +1,48 @@ +MKDIR := mkdir +RMDIR := rm -r +RM := rm +CC := gcc +BINDIR := ./bin +TESTDIR := ./test +SRCDIRS := ./ +SRCS := $(foreach fd, $(SRCDIRS), $(wildcard $(fd)/*.c)) +OBJS := $(patsubst %.c,$(BINDIR)/%.o,$(SRCS)) +ARCFIND := $(BINDIR)/arcfind +EXES := $(ARCFIND) +CFLAGS := $(addprefix -I,$(SRCDIRS)) $(XTRAFLAGS) +LDLIBS := + +ARCFIND_O := $(addprefix ./bin/, main.o) + +all: $(EXES) +.PHONY: all + +$(BINDIR)/%.o: %.c | $(BINDIR) + $(CC) $(CFLAGS) -c -o $@ $^ $(LDLIBS) + +include $(DEPS) + +$(ARCFIND): $(ARCFIND_O) | $(BINDIR) + $(CC) $(CFLAGS) -o $@ $^ $(LDLIBS) + +# TODO: one good rule for the test bins + +$(BINDIR): + $(MKDIR) $@ + +$(TESTDIR): + $(MKDIR) $@ + +debug: + $(MAKE) XTRAFLAGS:="-g -fsanitize=undefined -fsanitize-undefined-trap-on-error -fno-omit-frame-pointer -O0 -DDEBUG -Wuninitialized" +.PHONY: debug + +release: + $(MAKE) XTRAFLAGS:="-O3" +.PHONY: release + +clean: + -$(RM) $(OBJS) + -$(RM) $(EXES) +.PHONY: clean + diff --git a/main.c b/main.c index e69de29..bfea3b3 100644 --- a/main.c +++ b/main.c @@ -0,0 +1,6 @@ +#include + +int main(void) { + printf("arcfind!\n"); + return 0; +} -- cgit v1.2.3