]> git.seodisparate.com - SimpleArchiver/commitdiff
Create Makefile for building with cosmocc
authorStephen Seo <seo.disparate@gmail.com>
Fri, 28 Jun 2024 04:02:26 +0000 (13:02 +0900)
committerStephen Seo <seo.disparate@gmail.com>
Fri, 28 Jun 2024 04:02:26 +0000 (13:02 +0900)
Resolves #9.

cosmopolitan/.gitignore [new file with mode: 0644]
cosmopolitan/Makefile [new file with mode: 0644]

diff --git a/cosmopolitan/.gitignore b/cosmopolitan/.gitignore
new file mode 100644 (file)
index 0000000..de1831c
--- /dev/null
@@ -0,0 +1,2 @@
+/objdir/
+/out/
diff --git a/cosmopolitan/Makefile b/cosmopolitan/Makefile
new file mode 100644 (file)
index 0000000..9c6b0e9
--- /dev/null
@@ -0,0 +1,31 @@
+COSMOCC ?= ${HOME}/Downloads/cosmocc/bin/cosmocc
+
+OBJDIR = objdir
+OUTDIR = out
+
+SOURCES = \
+               ../src/main.c \
+               ../src/parser.c
+
+HEADERS = \
+               ../src/parser.h
+
+OBJECTS = $(addprefix ${OBJDIR}/,$(subst ..,PREVDIR,$(patsubst %.c,%.c.o,${SOURCES})))
+
+all: actually_portable_simplearchiver
+
+actually_portable_simplearchiver: ${OBJECTS}
+       @mkdir -p "${OUTDIR}"
+       ${COSMOCC} -o "${OUTDIR}/actually_portable_simplearchiver" $^
+
+.PHONY: clean
+
+clean:
+       rm -rf "${OUTDIR}"
+       rm -rf "${OBJDIR}"
+
+.SECONDEXPANSION:
+
+${OBJDIR}/%.c.o: $$(subst PREVDIR,..,%.c) ${HEADERS}
+       @mkdir -p "$(dir $@)"
+       ${COSMOCC} -c ${OTHER_FLAGS} -o $@ $<