2021-01-16 18:29:32 +01:00
|
|
|
# giteapc: version=1 depends=Lephenixnoir/sh-elf-gcc,Lephenixnoir/fxsdk
|
|
|
|
|
|
|
|
-include giteapc-config.make
|
|
|
|
|
|
|
|
configure:
|
kmalloc: implement a custom segregated list allocator
The new allocator uses a segregated best-fit algorithm with exact-size
lists for all sizes between 8 bytes (the minimum) and 60 bytes, one list
for blocks of size 64-252 and one for larger blocks.
Arenas managed by this allocator have built-in statistics that track
used and free memory (accounting for block headers), peak memory, and
various allocation results.
In addition, the allocator has self-checks in the form of integrity
verifications, that can be enabled with -DGINT_KMALLOC_DEBUG=1 at
configuration time or with the :dev configuration for GiteaPC. This is
used by gintctl.
The kmalloc interface is extended with a new arena covering all unused
memory in user RAM, managed by gint's allocator. It spans about 4 kB on
SH3 fx-9860G, 16 kB on SH4 fx-9860G, and 500 kB on fx-CG 50, in addition
to the OS heap. This new arena is now the default arena for malloc(),
except on SH3 where some heap problems are currently known.
2021-03-15 15:04:24 +01:00
|
|
|
@ fxsdk build-fx -c $(GINT_CMAKE_OPTIONS)
|
|
|
|
@ fxsdk build-cg -c $(GINT_CMAKE_OPTIONS)
|
2021-01-16 18:29:32 +01:00
|
|
|
|
|
|
|
build:
|
2021-01-25 15:31:20 +01:00
|
|
|
@ fxsdk build-fx
|
|
|
|
@ fxsdk build-cg
|
2021-01-16 18:29:32 +01:00
|
|
|
|
|
|
|
install:
|
2021-01-25 15:31:20 +01:00
|
|
|
@ fxsdk build-fx install
|
|
|
|
@ fxsdk build-cg install
|
2021-01-16 18:29:32 +01:00
|
|
|
|
|
|
|
uninstall:
|
2021-01-29 19:04:37 +01:00
|
|
|
@ if [ -e build-fx/install_manifest.txt ]; then \
|
2021-01-25 15:31:20 +01:00
|
|
|
xargs rm -f < build-fx/install_manifest.txt; \
|
|
|
|
fi
|
2021-01-29 19:04:37 +01:00
|
|
|
@ if [ -e build-cg/install_manifest.txt ]; then \
|
2021-01-25 15:31:20 +01:00
|
|
|
xargs rm -f < build-cg/install_manifest.txt; \
|
|
|
|
fi
|
2021-01-16 18:29:32 +01:00
|
|
|
|
|
|
|
.PHONY: configure build install uninstall
|