From 42c6af83ec7e26983f1ecdefc81ea481a2354cb4 Mon Sep 17 00:00:00 2001 From: Ada Christine Date: Mon, 29 Mar 2021 01:41:50 +0000 Subject: don't echo command spam move common files to new source add VPATH to loader and kernel makefiles for common source --- efi.mk | 4 ++-- kernel/Makefile | 2 ++ kernel/memcmp.c | 16 ---------------- kernel/memcpy.c | 12 ------------ kernel/memmove.c | 20 -------------------- kernel/memset.c | 11 ----------- lib/memcmp.c | 16 ++++++++++++++++ lib/memcpy.c | 12 ++++++++++++ lib/memmove.c | 20 ++++++++++++++++++++ lib/memset.c | 11 +++++++++++ loader/Makefile | 4 +++- rules.mk | 6 +++--- 12 files changed, 69 insertions(+), 65 deletions(-) delete mode 100644 kernel/memcmp.c delete mode 100644 kernel/memcpy.c delete mode 100644 kernel/memmove.c delete mode 100644 kernel/memset.c create mode 100644 lib/memcmp.c create mode 100644 lib/memcpy.c create mode 100644 lib/memmove.c create mode 100644 lib/memset.c diff --git a/efi.mk b/efi.mk index 530a372..72bd136 100644 --- a/efi.mk +++ b/efi.mk @@ -40,7 +40,7 @@ LINK._efi.so = $(LD) $(LDFLAGS) -znocombreloc -Bsymbolic -shared --no-undefined %.efi: %_efi.so $(OBJCOPY.info) - $(OBJCOPY.efi) + @$(OBJCOPY.efi) %.debug.efi: %_efi.so $(OBJCOPY.info) @@ -48,5 +48,5 @@ LINK._efi.so = $(LD) $(LDFLAGS) -znocombreloc -Bsymbolic -shared --no-undefined %_efi.so: $(EFILDSCRIPT) $(EFICRT) $(LINK.info) - $(LINK._efi.so) + @$(LINK._efi.so) diff --git a/kernel/Makefile b/kernel/Makefile index b51532e..7835041 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -1,5 +1,7 @@ include ../defaults.mk +VPATH := ../lib + TARGET := kernel.os .DEFAULT: $(TARGET) diff --git a/kernel/memcmp.c b/kernel/memcmp.c deleted file mode 100644 index 2348afe..0000000 --- a/kernel/memcmp.c +++ /dev/null @@ -1,16 +0,0 @@ -/* Public domain. */ -#include - -int -memcmp (const void *str1, const void *str2, size_t count) -{ - const unsigned char *s1 = str1; - const unsigned char *s2 = str2; - - while (count-- > 0) - { - if (*s1++ != *s2++) - return s1[-1] < s2[-1] ? -1 : 1; - } - return 0; -} diff --git a/kernel/memcpy.c b/kernel/memcpy.c deleted file mode 100644 index 58b1e40..0000000 --- a/kernel/memcpy.c +++ /dev/null @@ -1,12 +0,0 @@ -/* Public domain. */ -#include - -void * -memcpy (void *dest, const void *src, size_t len) -{ - char *d = dest; - const char *s = src; - while (len--) - *d++ = *s++; - return dest; -} diff --git a/kernel/memmove.c b/kernel/memmove.c deleted file mode 100644 index fd06bb6..0000000 --- a/kernel/memmove.c +++ /dev/null @@ -1,20 +0,0 @@ -/* Public domain. */ -#include - -void * -memmove (void *dest, const void *src, size_t len) -{ - char *d = dest; - const char *s = src; - if (d < s) - while (len--) - *d++ = *s++; - else - { - const char *lasts = s + (len-1); - char *lastd = d + (len-1); - while (len--) - *lastd-- = *lasts--; - } - return dest; -} diff --git a/kernel/memset.c b/kernel/memset.c deleted file mode 100644 index 3e7025e..0000000 --- a/kernel/memset.c +++ /dev/null @@ -1,11 +0,0 @@ -/* Public domain. */ -#include - -void * -memset (void *dest, int val, size_t len) -{ - unsigned char *ptr = dest; - while (len-- > 0) - *ptr++ = val; - return dest; -} diff --git a/lib/memcmp.c b/lib/memcmp.c new file mode 100644 index 0000000..2348afe --- /dev/null +++ b/lib/memcmp.c @@ -0,0 +1,16 @@ +/* Public domain. */ +#include + +int +memcmp (const void *str1, const void *str2, size_t count) +{ + const unsigned char *s1 = str1; + const unsigned char *s2 = str2; + + while (count-- > 0) + { + if (*s1++ != *s2++) + return s1[-1] < s2[-1] ? -1 : 1; + } + return 0; +} diff --git a/lib/memcpy.c b/lib/memcpy.c new file mode 100644 index 0000000..58b1e40 --- /dev/null +++ b/lib/memcpy.c @@ -0,0 +1,12 @@ +/* Public domain. */ +#include + +void * +memcpy (void *dest, const void *src, size_t len) +{ + char *d = dest; + const char *s = src; + while (len--) + *d++ = *s++; + return dest; +} diff --git a/lib/memmove.c b/lib/memmove.c new file mode 100644 index 0000000..fd06bb6 --- /dev/null +++ b/lib/memmove.c @@ -0,0 +1,20 @@ +/* Public domain. */ +#include + +void * +memmove (void *dest, const void *src, size_t len) +{ + char *d = dest; + const char *s = src; + if (d < s) + while (len--) + *d++ = *s++; + else + { + const char *lasts = s + (len-1); + char *lastd = d + (len-1); + while (len--) + *lastd-- = *lasts--; + } + return dest; +} diff --git a/lib/memset.c b/lib/memset.c new file mode 100644 index 0000000..3e7025e --- /dev/null +++ b/lib/memset.c @@ -0,0 +1,11 @@ +/* Public domain. */ +#include + +void * +memset (void *dest, int val, size_t len) +{ + unsigned char *ptr = dest; + while (len-- > 0) + *ptr++ = val; + return dest; +} diff --git a/loader/Makefile b/loader/Makefile index 2e849dc..582daf3 100644 --- a/loader/Makefile +++ b/loader/Makefile @@ -1,6 +1,8 @@ include ../defaults.mk include ../efi.mk +VPATH := ../lib + IMAGE := loader.efi BUILD := $(IMAGE) $(IMAGE:.efi=.debug.efi) @@ -8,7 +10,7 @@ CPPFLAGS += -I../api all: $(BUILD) -OBJS := entry_efi.o loader_efi.o memory_efi.o +OBJS := entry_efi.o loader_efi.o memory_efi.o memcmp.o memmove.o DEPS := $(OBJS:.o=.d) IMAGE_SO := $(IMAGE:.efi=_efi.so) diff --git a/rules.mk b/rules.mk index be255ba..4ac15a4 100644 --- a/rules.mk +++ b/rules.mk @@ -19,15 +19,15 @@ COMPILE.info = $(info $$(CC) $@) %.debug.os: %.os $(OBJCOPY) --only-keep-debug $< $@ - $(OBJCOPY) --strip-debug $< + @$(OBJCOPY) --strip-debug $< %.o: %.c $(COMPILE.info) - $(COMPILE.c) -MMD -MP + @$(COMPILE.c) -MMD -MP %.o: %.cpp $(COMPILE.info) - $(COMPILE.cpp) -MMD -MP + @$(COMPILE.cpp) -MMD -MP clean: $(info $$(RM) $(CLEANLIST)) -- cgit v1.3.1-1-g115d