2020-06-15 14:18:57 +00:00
|
|
|
#-*-mode:makefile-gmake;indent-tabs-mode:t;tab-width:8;coding:utf-8-*-┐
|
|
|
|
#── vi: set noet ft=make ts=8 sw=8 fenc=utf-8 :vi ────────────────────┘
|
|
|
|
|
|
|
|
PKGS += EXAMPLES
|
|
|
|
|
2022-05-25 18:31:08 +00:00
|
|
|
ifeq ($(MODE),tiny)
|
|
|
|
EXAMPLES_BOOTLOADER = $(CRT) $(APE)
|
|
|
|
else
|
|
|
|
EXAMPLES_BOOTLOADER = $(CRT) $(APE_NO_MODIFY_SELF)
|
|
|
|
endif
|
|
|
|
|
2020-06-15 14:18:57 +00:00
|
|
|
EXAMPLES_FILES := $(wildcard examples/*)
|
|
|
|
EXAMPLES_MAINS_S = $(filter %.S,$(EXAMPLES_FILES))
|
|
|
|
EXAMPLES_MAINS_C = $(filter %.c,$(EXAMPLES_FILES))
|
|
|
|
EXAMPLES_MAINS_CC = $(filter %.cc,$(EXAMPLES_FILES))
|
|
|
|
|
2024-03-03 00:57:56 +00:00
|
|
|
EXAMPLES_SRCS = \
|
|
|
|
$(EXAMPLES_MAINS_S) \
|
|
|
|
$(EXAMPLES_MAINS_C) \
|
2020-06-15 14:18:57 +00:00
|
|
|
$(EXAMPLES_MAINS_CC)
|
|
|
|
|
2024-03-03 00:57:56 +00:00
|
|
|
EXAMPLES_MAINS = \
|
|
|
|
$(EXAMPLES_MAINS_S) \
|
|
|
|
$(EXAMPLES_MAINS_C) \
|
2020-06-15 14:18:57 +00:00
|
|
|
$(EXAMPLES_MAINS_CC)
|
|
|
|
|
2024-03-03 00:57:56 +00:00
|
|
|
EXAMPLES_OBJS = \
|
|
|
|
$(EXAMPLES_MAINS_S:%.S=o/$(MODE)/%.o) \
|
|
|
|
$(EXAMPLES_MAINS_C:%.c=o/$(MODE)/%.o) \
|
2020-06-15 14:18:57 +00:00
|
|
|
$(EXAMPLES_MAINS_CC:%.cc=o/$(MODE)/%.o)
|
|
|
|
|
2024-03-03 00:57:56 +00:00
|
|
|
EXAMPLES_COMS = \
|
|
|
|
$(EXAMPLES_MAINS_S:%.S=o/$(MODE)/%) \
|
|
|
|
$(EXAMPLES_MAINS_C:%.c=o/$(MODE)/%) \
|
|
|
|
$(EXAMPLES_MAINS_CC:%.cc=o/$(MODE)/%)
|
2020-06-15 14:18:57 +00:00
|
|
|
|
2024-03-03 00:57:56 +00:00
|
|
|
EXAMPLES_BINS = \
|
|
|
|
$(EXAMPLES_COMS) \
|
2022-06-19 08:13:03 +00:00
|
|
|
$(EXAMPLES_COMS:%=%.dbg)
|
2020-06-15 14:18:57 +00:00
|
|
|
|
2024-03-03 00:57:56 +00:00
|
|
|
EXAMPLES_DIRECTDEPS = \
|
|
|
|
DSP_CORE \
|
|
|
|
DSP_SCALE \
|
|
|
|
DSP_TTY \
|
|
|
|
LIBC_CALLS \
|
|
|
|
LIBC_DLOPEN \
|
|
|
|
LIBC_FMT \
|
|
|
|
LIBC_INTRIN \
|
|
|
|
LIBC_IRQ \
|
|
|
|
LIBC_LOG \
|
|
|
|
LIBC_MEM \
|
|
|
|
LIBC_NEXGEN32E \
|
|
|
|
LIBC_NT_ADVAPI32 \
|
|
|
|
LIBC_NT_IPHLPAPI \
|
|
|
|
LIBC_NT_KERNEL32 \
|
|
|
|
LIBC_NT_NTDLL \
|
|
|
|
LIBC_NT_USER32 \
|
|
|
|
LIBC_NT_WS2_32 \
|
|
|
|
LIBC_PROC \
|
|
|
|
LIBC_RUNTIME \
|
|
|
|
LIBC_SOCK \
|
|
|
|
LIBC_STDIO \
|
|
|
|
LIBC_STR \
|
|
|
|
LIBC_SYSV \
|
|
|
|
LIBC_SYSV_CALLS \
|
|
|
|
LIBC_TESTLIB \
|
|
|
|
LIBC_THREAD \
|
|
|
|
LIBC_TINYMATH \
|
|
|
|
LIBC_VGA \
|
|
|
|
LIBC_X \
|
|
|
|
NET_HTTP \
|
|
|
|
NET_HTTPS \
|
|
|
|
THIRD_PARTY_AWK \
|
|
|
|
THIRD_PARTY_COMPILER_RT \
|
|
|
|
THIRD_PARTY_DLMALLOC \
|
|
|
|
THIRD_PARTY_DOUBLECONVERSION \
|
|
|
|
THIRD_PARTY_GDTOA \
|
|
|
|
THIRD_PARTY_GETOPT \
|
|
|
|
THIRD_PARTY_HIREDIS \
|
|
|
|
THIRD_PARTY_LIBCXX \
|
|
|
|
THIRD_PARTY_LINENOISE \
|
|
|
|
THIRD_PARTY_LUA \
|
|
|
|
THIRD_PARTY_MBEDTLS \
|
|
|
|
THIRD_PARTY_MUSL \
|
|
|
|
THIRD_PARTY_NSYNC \
|
|
|
|
THIRD_PARTY_NSYNC_MEM \
|
|
|
|
THIRD_PARTY_OPENMP \
|
|
|
|
THIRD_PARTY_SED \
|
|
|
|
THIRD_PARTY_STB \
|
|
|
|
THIRD_PARTY_TR \
|
2024-05-05 06:05:36 +00:00
|
|
|
THIRD_PARTY_TZ \
|
2024-03-03 00:57:56 +00:00
|
|
|
THIRD_PARTY_VQSORT \
|
|
|
|
THIRD_PARTY_XED \
|
|
|
|
THIRD_PARTY_ZLIB \
|
|
|
|
TOOL_ARGS \
|
|
|
|
TOOL_BUILD_LIB \
|
2020-06-15 14:18:57 +00:00
|
|
|
TOOL_VIZ_LIB
|
|
|
|
|
2024-03-03 00:57:56 +00:00
|
|
|
EXAMPLES_DEPS := \
|
2020-06-15 14:18:57 +00:00
|
|
|
$(call uniq,$(foreach x,$(EXAMPLES_DIRECTDEPS),$($(x))))
|
|
|
|
|
2024-03-03 00:57:56 +00:00
|
|
|
o/$(MODE)/examples/examples.pkg: \
|
|
|
|
$(EXAMPLES_OBJS) \
|
2020-06-15 14:18:57 +00:00
|
|
|
$(foreach x,$(EXAMPLES_DIRECTDEPS),$($(x)_A).pkg)
|
|
|
|
|
2024-03-03 00:57:56 +00:00
|
|
|
o/$(MODE)/examples/unbourne.o: private \
|
|
|
|
CPPFLAGS += \
|
|
|
|
-DSTACK_FRAME_UNLIMITED \
|
2022-03-18 20:31:47 +00:00
|
|
|
-fpie
|
2020-06-15 14:18:57 +00:00
|
|
|
|
2024-03-03 00:57:56 +00:00
|
|
|
o/$(MODE)/examples/%.dbg: \
|
|
|
|
$(EXAMPLES_DEPS) \
|
|
|
|
o/$(MODE)/examples/%.o \
|
|
|
|
o/$(MODE)/examples/examples.pkg \
|
2022-05-25 18:31:08 +00:00
|
|
|
$(EXAMPLES_BOOTLOADER)
|
2020-06-15 14:18:57 +00:00
|
|
|
@$(APELINK)
|
|
|
|
|
2024-03-03 00:57:56 +00:00
|
|
|
o/$(MODE)/examples/hellolua.dbg: \
|
|
|
|
$(EXAMPLES_DEPS) \
|
|
|
|
o/$(MODE)/examples/hellolua.o \
|
|
|
|
o/$(MODE)/examples/hellolua.lua.zip.o \
|
|
|
|
o/$(MODE)/examples/examples.pkg \
|
2022-05-25 18:31:08 +00:00
|
|
|
$(EXAMPLES_BOOTLOADER)
|
2020-06-15 14:18:57 +00:00
|
|
|
@$(APELINK)
|
|
|
|
|
2024-03-03 00:57:56 +00:00
|
|
|
o/$(MODE)/examples/ispell.dbg: \
|
|
|
|
$(EXAMPLES_DEPS) \
|
|
|
|
o/$(MODE)/examples/ispell.o \
|
|
|
|
o/$(MODE)/usr/share/dict/words.zip.o \
|
|
|
|
o/$(MODE)/examples/examples.pkg \
|
2022-05-25 18:31:08 +00:00
|
|
|
$(EXAMPLES_BOOTLOADER)
|
2020-08-25 11:23:25 +00:00
|
|
|
@$(APELINK)
|
|
|
|
|
2024-03-03 00:57:56 +00:00
|
|
|
o/$(MODE)/examples/nesemu1.dbg: \
|
|
|
|
$(EXAMPLES_DEPS) \
|
|
|
|
o/$(MODE)/examples/nesemu1.o \
|
|
|
|
o/$(MODE)/usr/share/rom/mario.nes.zip.o \
|
|
|
|
o/$(MODE)/usr/share/rom/zelda.nes.zip.o \
|
|
|
|
o/$(MODE)/usr/share/rom/tetris.nes.zip.o \
|
|
|
|
o/$(MODE)/examples/examples.pkg \
|
2022-05-25 18:31:08 +00:00
|
|
|
$(EXAMPLES_BOOTLOADER)
|
2020-06-27 19:00:43 +00:00
|
|
|
@$(APELINK)
|
|
|
|
|
2022-08-11 01:00:45 +00:00
|
|
|
o/$(MODE)/examples/picol.o: private \
|
2023-06-06 06:35:31 +00:00
|
|
|
CPPFLAGS += \
|
2022-06-29 15:52:22 +00:00
|
|
|
-DSTACK_FRAME_UNLIMITED
|
|
|
|
|
2024-03-03 00:57:56 +00:00
|
|
|
o/$(MODE)/examples/picol.dbg: \
|
2022-06-29 15:52:22 +00:00
|
|
|
$(EXAMPLES_DEPS) \
|
|
|
|
o/$(MODE)/examples/picol.o \
|
|
|
|
o/$(MODE)/examples/examples.pkg \
|
|
|
|
$(CRT) \
|
|
|
|
$(APE_NO_MODIFY_SELF)
|
|
|
|
@$(APELINK)
|
|
|
|
|
2022-08-11 01:00:45 +00:00
|
|
|
o/$(MODE)/usr/share/dict/words.zip.o: private ZIPOBJ_FLAGS += -C2
|
2024-05-05 12:45:52 +00:00
|
|
|
|
|
|
|
o/$(MODE)/examples/blas.o: private COPTS += -O3 -fopenmp
|
2021-09-28 05:58:51 +00:00
|
|
|
|
2023-11-28 19:21:08 +00:00
|
|
|
$(EXAMPLES_OBJS): examples/BUILD.mk
|
2021-02-08 12:04:42 +00:00
|
|
|
|
2023-05-09 09:35:05 +00:00
|
|
|
o/$(MODE)/usr/share/dict/words: \
|
|
|
|
usr/share/dict/words.gz
|
2022-05-25 18:31:08 +00:00
|
|
|
@$(MKDIR) $(@D)
|
2023-05-09 09:35:05 +00:00
|
|
|
@$(GZIP) $(ZFLAGS) -cd <$< >$@
|
2020-06-27 19:00:43 +00:00
|
|
|
|
2022-06-11 16:27:14 +00:00
|
|
|
################################################################################
|
|
|
|
|
2020-06-15 14:18:57 +00:00
|
|
|
.PHONY: o/$(MODE)/examples
|
2024-03-03 00:57:56 +00:00
|
|
|
o/$(MODE)/examples: \
|
|
|
|
o/$(MODE)/examples/package \
|
|
|
|
o/$(MODE)/examples/pylife \
|
|
|
|
o/$(MODE)/examples/pyapp \
|
2020-06-18 23:14:47 +00:00
|
|
|
$(EXAMPLES_BINS)
|