summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-09-13 14:10:31 -0400
committerJesse Luehrs <doy@tozt.net>2014-09-13 14:10:31 -0400
commitcb0744e81c4577cf2a3e4ff41e431a053bb12b57 (patch)
tree9640f889f74d6fe4e3bcf9840c0c42964b357fde /Makefile
downloadlibvt100-cb0744e81c4577cf2a3e4ff41e431a053bb12b57.tar.gz
libvt100-cb0744e81c4577cf2a3e4ff41e431a053bb12b57.zip
initial commit, splitting this out from runes
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile39
1 files changed, 39 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..113658c
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,39 @@
+OUT = libvt100.so
+BUILD = build/
+SRC = src/
+OBJ = $(BUILD)parser.o \
+ $(BUILD)screen.o
+LIBS = glib-2.0
+CFLAGS ?= -g -Wall -Wextra -Werror
+LDFLAGS ?= -g -Wall -Wextra -Werror
+
+ALLCFLAGS = $(shell pkg-config --cflags $(LIBS)) $(CFLAGS)
+ALLLDFLAGS = $(shell pkg-config --libs $(LIBS)) $(LDFLAGS)
+
+MAKEDEPEND = $(CC) $(ALLCFLAGS) -M -MP -MT '$@ $(@:$(BUILD)%.o=$(BUILD).%.d)'
+
+build: $(OUT)
+
+$(OUT): $(OBJ)
+ $(CC) $(ALLLDFLAGS) -fPIC -shared -o $@ $^
+
+$(BUILD)%.o: $(SRC)%.c
+ @mkdir -p $(BUILD)
+ @$(MAKEDEPEND) -o $(<:$(SRC)%.c=$(BUILD).%.d) $<
+ $(CC) $(ALLCFLAGS) -c -fPIC -o $@ $<
+
+$(SRC)screen.c: $(SRC)parser.h
+
+$(SRC)%.c: $(SRC)%.l
+ $(LEX) -o $@ $<
+
+$(SRC)%.h: $(SRC)%.l
+ $(LEX) --header-file=$(<:.l=.h) -o /dev/null $<
+
+clean:
+ rm -f $(OUT) $(OBJ) $(OBJ:$(BUILD)%.o=$(BUILD).%.d)
+ @rmdir -p $(BUILD) > /dev/null 2>&1
+
+-include $(OBJ:$(BUILD)%.o=$(BUILD).%.d)
+
+.PHONY: build clean