summaryrefslogtreecommitdiff
path: root/make/all.mk
diff options
context:
space:
mode:
authorpeter <peter@pmikkelsen.com>2026-09-13 21:04:43 +0000
committerpeter <peter@pmikkelsen.com>2026-09-13 21:04:43 +0000
commit9489815e240d0c3b2f0d20999b0e58ae0221f224 (patch)
tree389f4442f0b4ebc73493438cadf16c968e5ed7d9 /make/all.mk
parent83bdc0e59232434fc30f94e2fc3a22e81989e4dd (diff)
Initial bit of work to get rid of cmake.
FossilOrigin-Name: 4d6a05bd71d4971e09528f5c534603092047a97afea1ea68615be4a5d49313d0
Diffstat (limited to 'make/all.mk')
-rw-r--r--make/all.mk65
1 files changed, 65 insertions, 0 deletions
diff --git a/make/all.mk b/make/all.mk
new file mode 100644
index 0000000..c26ec84
--- /dev/null
+++ b/make/all.mk
@@ -0,0 +1,65 @@
+OS != uname -s
+ARCH != uname -m
+
+CLEAN_FILES ::=
+TEST_BINS ::=
+APLWC_SUBDIR = $(ROOT)/src/bin
+LIBAPLWC_SUBDIR = $(ROOT)/src/lib
+LIBAPLWC_INCLUDES = $(ROOT)/src/include
+TEST_SUBDIR = $(ROOT)/tests
+
+-include $(ROOT)/make/os/$(OS).mk
+-include $(ROOT)/make/arch/$(ARCH).mk
+
+.SUFFIXES:
+.SUFFIXES: .c $(OBJEXT)
+
+.PHONY: all clean
+all:
+
+clean:
+ rm -f $(CLEAN_FILES)
+
+# APLWC
+HDRS = \
+ $(APLWC_SUBDIR)/aplwc_repl.h
+SRCS = \
+ $(APLWC_SUBDIR)/main.c \
+ $(APLWC_SUBDIR)/util.c
+TARG = $(APLWC)
+EXTRA_OBJS = $(LIBAPLWC)
+include $(ROOT)/make/bin.mk
+
+# LIBAPLWC
+HDRS = \
+ $(LIBAPLWC_SUBDIR)/aplwc_internal.h \
+ $(LIBAPLWC_SUBDIR)/boot.h
+SRCS = \
+ $(LIBAPLWC_SUBDIR)/eval.c \
+ $(LIBAPLWC_SUBDIR)/main.c \
+ $(LIBAPLWC_SUBDIR)/memory.c \
+ $(LIBAPLWC_SUBDIR)/module.c \
+ $(LIBAPLWC_SUBDIR)/string.c \
+ $(LIBAPLWC_SUBDIR)/symtab.c \
+ $(LIBAPLWC_SUBDIR)/syntax.c
+TARG = $(LIBAPLWC)
+EXTRA_OBJS =
+include $(ROOT)/make/lib.mk
+
+# boot.h
+$(LIBAPLWC_SUBDIR)/boot.h: $(LIBAPLWC_SUBDIR)/boot.aplwc
+ xxd -i -n boot_src $< $@
+CLEAN_FILES += $(LIBAPLWC_SUBDIR)/boot.h
+
+# tests
+TEST = aplwc_errstr
+include $(ROOT)/make/testbin.mk
+
+TEST = aplwc_eval
+include $(ROOT)/make/testbin.mk
+
+TEST = aplwc_read
+include $(ROOT)/make/testbin.mk
+
+TEST = aplwc_utf8
+include $(ROOT)/make/testbin.mk