From 25108684fe235d4296c3cbc480298df209682586 Mon Sep 17 00:00:00 2001 From: stefan Date: Tue, 4 Apr 2023 06:01:50 +0000 Subject: build system and some other stuff --- lib/Makefile | 21 +++++++++++++++++++++ lib/build/memset.o | Bin 0 -> 1328 bytes lib/string/memset.c | 14 ++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 lib/Makefile create mode 100644 lib/build/memset.o create mode 100644 lib/string/memset.c (limited to 'lib') diff --git a/lib/Makefile b/lib/Makefile new file mode 100644 index 0000000..b44c1f6 --- /dev/null +++ b/lib/Makefile @@ -0,0 +1,21 @@ +BUILDDIR=build/${TARGET} +TARGETDIR=../mainboard/${TARGET} + +.if !exists(${TARGETDIR}/conf/mainboard.conf) +.error 'ERROR: invalid target "${TARGET}"' +.else +.include <${TARGETDIR}/conf/mainboard.conf> +.endif + +SRC=\ + string/memset.c + + +${BUILDDIR}/libc.a: ${SRC} + mkdir -p ${BUILDDIR} + cd ${BUILDDIR} && ${CROSS_COMPILE}gcc -c ${CFLAGS} ${SRC:%=../../%} + cd ${BUILDDIR} && ${CROSS_COMPILE}ar -rcs ${@:T} ${SRC:T:%.c=%.o} + + +clean: + rm -rf ${BUILDDIR} diff --git a/lib/build/memset.o b/lib/build/memset.o new file mode 100644 index 0000000..a5c0c8c Binary files /dev/null and b/lib/build/memset.o differ diff --git a/lib/string/memset.c b/lib/string/memset.c new file mode 100644 index 0000000..59e3bea --- /dev/null +++ b/lib/string/memset.c @@ -0,0 +1,14 @@ +#include +#include + +void * +memset(void *s, int c, size_t n) +{ + char *xs = s; + + while (n--) + *xs++ = c; + + return s; +} + -- cgit v1.2.3