summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2024-01-30 22:21:50 -0500
committerJakob Kaivo <jkk@ung.org>2024-01-30 22:21:50 -0500
commit23a64baa02a9f45ae318b45f9f5f6f7cae1eb67c (patch)
treed599028dbe7db84093cff4f794c58ee8a08cdc24 /Makefile
parent2c7f07a77c02a1bf7293bc4cc80254b972f747f8 (diff)
update build to remove the configure step
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile95
1 files changed, 94 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 60321434..f257450e 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
.POSIX:
-include .config.mk
+#include .config.mk
AR=ar
ARFLAGS=rU
@@ -8,6 +8,16 @@ BASE_CFLAGS=-g -O0 -Wall -Wextra -Werror -nostdinc -fno-builtin -fno-stack-prote
OBJDIR=obj
SRCDIR=src
+## Previously in .configure.mk
+ARCHITECTURE=x86
+WORDSIZE=64
+TOPDIR=.
+SRCDIR=$(TOPDIR)/src
+INCDIR=/lib/include
+OBJDIR=./obj
+
+include mk/configured.mk
+
all: libung.so
include mk/all.mk
@@ -20,10 +30,93 @@ newdeps: cleandeps
printf '.POSIX:\n\nall:\n\n' > mk/deps.mk
for i in $$(find src -name \*.c); do sh mk/deps.sh $$i; done
for i in $$(find src -name \*.$(ARCHITECTURE)-$(WORDSIZE).s); do sh mk/deps.sh $$i; done
+ touch mk/configured.mk
libung.so: libc.a libm.a
$(CC) -o libung.so -shared obj/*.o
+c89 c90:
+ printf '.POSIX:\n\n' > mk/configured.mk
+ printf 'CC=c89\n' >> mk/configured.mk
+ printf 'CFLAGS=$$(BASE_CFLAGS) $(CFLAGS)\n' >> mk/configured.mk
+ printf 'all: libc_C.0\n' >> mk/configured.mk
+ printf 'all: libc_C.1\n' >> mk/configured.mk
+ printf 'all: libm_C.0\n' >> mk/configured.mk
+ printf 'all: libm_C.1\n' >> mk/configured.mk
+ $(MAKE)
+
+# 199409
+c94 c95 amd1:
+ printf '.POSIX:\n\n' > mk/configured.mk
+ printf 'CC=c89\n' >> mk/configured.mk
+ printf 'CFLAGS=-std=c94 $$(BASE_CFLAGS) $(CFLAGS)\n' >> mk/configured.mk
+ printf 'all: libc_C.0\n' >> mk/configured.mk
+ printf 'all: libc_C.1\n' >> mk/configured.mk
+ printf 'all: libc_C.199409\n' >> mk/configured.mk
+ printf 'all: libm_C.0\n' >> mk/configured.mk
+ printf 'all: libm_C.1\n' >> mk/configured.mk
+ $(MAKE)
+
+
+# 199901
+c99:
+ printf '.POSIX:\n\n' > mk/configured.mk
+ printf 'CC=c99\n' >> mk/configured.mk
+ printf 'CFLAGS=$$(BASE_CFLAGS) $(CFLAGS)\n' >> mk/configured.mk
+ printf 'all: libc_C.0\n' >> mk/configured.mk
+ printf 'all: libc_C.1\n' >> mk/configured.mk
+ printf 'all: libc_C.199409\n' >> mk/configured.mk
+ printf 'all: libc_C.199901\n' >> mk/configured.mk
+ printf 'all: libm_C.0\n' >> mk/configured.mk
+ printf 'all: libm_C.1\n' >> mk/configured.mk
+ printf 'all: libm_C.199901\n' >> mk/configured.mk
+ $(MAKE)
+
+# 201112
+c11:
+c11+ext1: c11
+
+# 201710
+c17 c18:
+c17+ext1 c18+ext1: c18
+
+# _POSIX_SOURCE
+posix-1: c89
+
+posix-1+amd1 posix-1+c94 posix-1+c95: c94
+
+# _POSIX_C_SOURCE 2
+posix-2: c89
+posix-1+amd1 posix-1+c94 posix-1+c95: c94
+
+# _POSIX_C_SOURCE 199309
+posix-1993: c89
+posix-1+amd1 posix-1+c94 posix-1+c95: c94
+
+# _POSIX_C_SOURCE 199506
+posix-1995: c94
+
+# _POSIX_C_SOURCE 200112
+posix-2001: c99
+
+# _POSIX_C_SOURCE 200809
+posix-2008: c99
+
+# _XOPEN_SOURCE < 500 # TODO: +amd1
+xopen-4 xpg-4: posix-1993
+
+# _XOPEN_EXTENDED_UNIX # TODO: +amd1
+susv1 xopen-4-extended xpg-4-extended: xopen-4
+
+# _XOPEN_SOURCE 500
+susv2 xopen-500 xpg-5: posix-1995
+
+# _XOPEN_SOURCE 600
+susv3 xopen-600 xpg-6: posix-2001
+
+# _XOPEN_SOURCE 700 # TODO: +c11/c18(+ext1)
+susv4 xopen-700 xpg-7: posix-2008
+
deps:
$(MAKE) -f mk/deps.mk