diff options
author | Patryk Niedźwiedziński <pniedzwiedzinski19@gmail.com> | 2021-04-17 10:28:11 +0200 |
---|---|---|
committer | Patryk Niedźwiedziński <pniedzwiedzinski19@gmail.com> | 2021-04-17 10:28:11 +0200 |
commit | b1ddaa81f28b8bbc62d6d50526e0935b173099eb (patch) | |
tree | e606c194f8eecdedf3f710ed097cadfe97d60122 /stdio/stdio.mk | |
download | cat-cosmopolitan-b1ddaa81f28b8bbc62d6d50526e0935b173099eb.tar.gz cat-cosmopolitan-b1ddaa81f28b8bbc62d6d50526e0935b173099eb.zip |
Diffstat (limited to 'stdio/stdio.mk')
-rw-r--r-- | stdio/stdio.mk | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/stdio/stdio.mk b/stdio/stdio.mk new file mode 100644 index 0000000..a54636e --- /dev/null +++ b/stdio/stdio.mk @@ -0,0 +1,66 @@ +#-*-mode:makefile-gmake;indent-tabs-mode:t;tab-width:8;coding:utf-8-*-┐ +#───vi: set et ft=make ts=8 tw=8 fenc=utf-8 :vi───────────────────────┘ + +PKGS += LIBC_STDIO + +LIBC_STDIO_ARTIFACTS += LIBC_STDIO_A +LIBC_STDIO = $(LIBC_STDIO_A_DEPS) $(LIBC_STDIO_A) +LIBC_STDIO_A = o/$(MODE)/libc/stdio/stdio.a +LIBC_STDIO_A_FILES := $(wildcard libc/stdio/*) $(wildcard libc/stdio/unlocked/*) +LIBC_STDIO_A_HDRS = $(filter %.h,$(LIBC_STDIO_A_FILES)) +LIBC_STDIO_A_SRCS_S = $(filter %.S,$(LIBC_STDIO_A_FILES)) +LIBC_STDIO_A_SRCS_C = $(filter %.c,$(LIBC_STDIO_A_FILES)) + +LIBC_STDIO_A_SRCS = \ + $(LIBC_STDIO_A_SRCS_S) \ + $(LIBC_STDIO_A_SRCS_C) + +LIBC_STDIO_A_OBJS = \ + $(LIBC_STDIO_A_SRCS_S:%.S=o/$(MODE)/%.o) \ + $(LIBC_STDIO_A_SRCS_C:%.c=o/$(MODE)/%.o) + +LIBC_STDIO_A_CHECKS = \ + $(LIBC_STDIO_A).pkg \ + $(LIBC_STDIO_A_HDRS:%=o/$(MODE)/%.ok) + +LIBC_STDIO_A_DIRECTDEPS = \ + LIBC_ALG \ + LIBC_BITS \ + LIBC_CALLS \ + LIBC_FMT \ + LIBC_INTRIN \ + LIBC_MEM \ + LIBC_NEXGEN32E \ + LIBC_NT_KERNEL32 \ + LIBC_RAND \ + LIBC_RUNTIME \ + LIBC_STR \ + LIBC_STUBS \ + LIBC_SYSV \ + LIBC_SYSV_CALLS \ + THIRD_PARTY_GDTOA + +LIBC_STDIO_A_DEPS := \ + $(call uniq,$(foreach x,$(LIBC_STDIO_A_DIRECTDEPS),$($(x)))) + +$(LIBC_STDIO_A):libc/stdio/ \ + $(LIBC_STDIO_A).pkg \ + $(LIBC_STDIO_A_OBJS) + +$(LIBC_STDIO_A).pkg: \ + $(LIBC_STDIO_A_OBJS) \ + $(foreach x,$(LIBC_STDIO_A_DIRECTDEPS),$($(x)_A).pkg) + +o/$(MODE)/libc/stdio/fputc.o: \ + OVERRIDE_CFLAGS += \ + -O3 + +LIBC_STDIO_LIBS = $(foreach x,$(LIBC_STDIO_ARTIFACTS),$($(x))) +LIBC_STDIO_SRCS = $(foreach x,$(LIBC_STDIO_ARTIFACTS),$($(x)_SRCS)) +LIBC_STDIO_HDRS = $(foreach x,$(LIBC_STDIO_ARTIFACTS),$($(x)_HDRS)) +LIBC_STDIO_CHECKS = $(foreach x,$(LIBC_STDIO_ARTIFACTS),$($(x)_CHECKS)) +LIBC_STDIO_OBJS = $(foreach x,$(LIBC_STDIO_ARTIFACTS),$($(x)_OBJS)) +$(LIBC_STDIO_OBJS): $(BUILD_FILES) libc/stdio/stdio.mk + +.PHONY: o/$(MODE)/libc/stdio +o/$(MODE)/libc/stdio: $(LIBC_STDIO_CHECKS) |