summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorpeter <peter@pmikkelsen.com>2026-09-20 20:58:10 +0000
committerpeter <peter@pmikkelsen.com>2026-09-20 20:58:10 +0000
commitaa51adcfc9a79c606aa4435dc64dd5f160efbde1 (patch)
treeb0e50185da9e93e38cf7e651eb92592bd57ea23a /src
parent83bdc0e59232434fc30f94e2fc3a22e81989e4dd (diff)
Start working on migrating to autoconf/automake instead of cmake
FossilOrigin-Name: d870487495106763d2a4e416f1ddbf4c795081a6b77100d34063591e385692e0
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am4
-rw-r--r--src/bin/Makefile.am8
-rw-r--r--src/include/Makefile.am2
-rw-r--r--src/include/aplwc_macros.h2
-rw-r--r--src/lib/Makefile.am13
-rw-r--r--src/tools/Makefile.am10
-rw-r--r--src/tools/genboot.c25
7 files changed, 64 insertions, 0 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644
index 0000000..1e7e4e2
--- /dev/null
+++ b/src/Makefile.am
@@ -0,0 +1,4 @@
+include src/bin/Makefile.am
+include src/include/Makefile.am
+include src/lib/Makefile.am
+include src/tools/Makefile.am
diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
new file mode 100644
index 0000000..bc25fbb
--- /dev/null
+++ b/src/bin/Makefile.am
@@ -0,0 +1,8 @@
+bin_PROGRAMS += aplwc
+
+aplwc_SOURCES = \
+ src/bin/aplwc_repl.h \
+ src/bin/main.c \
+ src/bin/util.c
+
+aplwc_LDADD = libaplwc.a
diff --git a/src/include/Makefile.am b/src/include/Makefile.am
new file mode 100644
index 0000000..3f082fb
--- /dev/null
+++ b/src/include/Makefile.am
@@ -0,0 +1,2 @@
+include_HEADERS += src/include/aplwc.h
+noinst_HEADERS += src/include/aplwc_macros.h
diff --git a/src/include/aplwc_macros.h b/src/include/aplwc_macros.h
index 80ada28..3c8aa6b 100644
--- a/src/include/aplwc_macros.h
+++ b/src/include/aplwc_macros.h
@@ -20,6 +20,8 @@
#ifndef APLWC_MACROS_H
#define APLWC_MACROS_H
+#include <config.h>
+
#define UNUSED_PARAMETER(arg) ((void)arg)
#define NELEM(x) (sizeof(x)/sizeof(x[0]))
diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
new file mode 100644
index 0000000..c95fe1c
--- /dev/null
+++ b/src/lib/Makefile.am
@@ -0,0 +1,13 @@
+lib_LIBRARIES += libaplwc.a
+
+libaplwc_a_SOURCES = \
+ src/lib/aplwc_internal.h \
+ src/lib/eval.c \
+ src/lib/main.c \
+ src/lib/memory.c \
+ src/lib/module.c \
+ src/lib/string.c \
+ src/lib/symtab.c \
+ src/lib/syntax.c
+
+EXTRA_DIST += src/lib/boot.aplwc
diff --git a/src/tools/Makefile.am b/src/tools/Makefile.am
new file mode 100644
index 0000000..b1079e7
--- /dev/null
+++ b/src/tools/Makefile.am
@@ -0,0 +1,10 @@
+noinst_PROGRAMS += genboot
+
+genboot_SOURCES = src/tools/genboot.c
+
+BUILT_SOURCES += $(top_builddir)/generated/boot.h
+CLEANFILES += $(top_builddir)/generated/boot.h
+
+$(top_builddir)/generated/boot.h: genboot src/lib/boot.aplwc
+ $(MKDIR_P) $(top_builddir)/generated
+ ./genboot $(top_srcdir)/src/lib/boot.aplwc > $@
diff --git a/src/tools/genboot.c b/src/tools/genboot.c
new file mode 100644
index 0000000..6f2e408
--- /dev/null
+++ b/src/tools/genboot.c
@@ -0,0 +1,25 @@
+#include <stdio.h>
+#include <assert.h>
+
+int
+main(int argc, char *argv[])
+{
+ assert(argc == 2);
+ FILE *f = fopen(argv[1], "r");
+ assert(f != NULL);
+
+ printf("unsigned char boot_src[] = { ");
+
+ int c;
+ int s = 0;
+ while((c = fgetc(f)) != EOF){
+ if(s++ > 0)
+ printf(", ");
+ printf("0x%02x", c);
+ }
+
+ printf(" };\n");
+ printf("unsigned int boot_src_len = %d;\n", s);
+
+ return 0;
+}