aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorfrosty <gabriel@bwaaa.monster>2026-09-16 16:32:06 -0400
committerfrosty <gabriel@bwaaa.monster>2026-09-16 16:32:06 -0400
commit4c8d764d171ec77ff626cec273c44ec7e7a995fc (patch)
treedc36193e611ece53c8f7e74d1dea71f8d9e7004e /Makefile
downloadyapssg-4c8d764d171ec77ff626cec273c44ec7e7a995fc.tar.gz
init: initHEADmaster
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile35
1 files changed, 35 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..b63fc83
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,35 @@
+CC ?= cc
+PKG_CONFIG ?= pkg-config
+PREFIX ?= /usr/local
+BINDIR ?= $(PREFIX)/bin
+DESTDIR ?=
+
+TARGET := bin/yapssg
+SOURCES := src/Main.c $(wildcard src/*/*.c)
+OBJECTS := $(patsubst src/%.c,obj/%.o,$(SOURCES))
+
+CPPFLAGS += -Isrc $(shell $(PKG_CONFIG) --cflags libxml-2.0 luajit)
+CFLAGS ?= -O2 -Wall -Wextra -Werror -std=c99
+LDLIBS += $(shell $(PKG_CONFIG) --libs libxml-2.0 luajit)
+
+.PHONY: all clean install
+
+all: $(TARGET)
+
+$(TARGET): $(OBJECTS) | bin
+ $(CC) $(LDFLAGS) $(OBJECTS) $(LDLIBS) -o $@
+
+obj/%.o: src/%.c
+ mkdir -p $(@D)
+ $(CC) $(CPPFLAGS) $(CFLAGS) -MMD -MP -c $< -o $@
+
+bin:
+ mkdir -p $@
+
+clean:
+ rm -rf obj bin
+
+install: $(TARGET)
+ install -Dm755 $(TARGET) $(DESTDIR)$(BINDIR)/yapssg
+
+-include $(OBJECTS:.o=.d)