mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-05-24 12:08:57 +00:00
- Turn Keyboard into a CharacterDevice (85,1) at /dev/keyboard.
- Implement MM::unmapRegionsForTask() and MM::unmapRegion()
- Save SS correctly on interrupt.
- Add a simple Spawn syscall for launching another process.
- Move a bunch of IO syscall debug output behind DEBUG_IO.
- Have ASSERT do a "cli" immediately when failing.
This makes the output look proper every time.
- Implement a bunch of syscalls in LibC.
- Add a simple shell ("sh"). All it can do now is read a line
of text from /dev/keyboard and then try launching the specified
executable by calling spawn().
There are definitely bugs in here, but we're moving on forward.
36 lines
1.1 KiB
Makefile
36 lines
1.1 KiB
Makefile
OBJS = \
|
|
stdio.o \
|
|
unistd.o \
|
|
string.o \
|
|
process.o \
|
|
entry.o
|
|
|
|
LIBRARY = LibC.a
|
|
ARCH_FLAGS =
|
|
STANDARD_FLAGS = -std=c++17 -nostdinc++ -nostdlib
|
|
LIBC_FLAGS = -ffreestanding -fno-stack-protector -fno-ident
|
|
WARNING_FLAGS = -Wextra -Wall -Wundef -Wcast-qual -Wwrite-strings
|
|
FLAVOR_FLAGS = -fomit-frame-pointer -mregparm=3 -march=i386 -m32 -fno-exceptions -fno-rtti -ffunction-sections -fdata-sections -fmerge-all-constants -fno-unroll-loops -falign-functions=1 -falign-jumps=1 -falign-loops=1 -fno-pie -fno-pic
|
|
OPTIMIZATION_FLAGS = -Os -fno-asynchronous-unwind-tables
|
|
INCLUDE_FLAGS = -I.. -I.
|
|
|
|
DEFINES = -DSERENITY -DSANITIZE_PTRS
|
|
|
|
CXXFLAGS = $(WARNING_FLAGS) $(OPTIMIZATION_FLAGS) $(LIBC_FLAGS) $(FLAVOR_FLAGS) $(ARCH_FLAGS) $(STANDARD_FLAGS) $(INCLUDE_FLAGS) $(DEFINES)
|
|
CXX = g++
|
|
LD = ld
|
|
AR = ar
|
|
LDFLAGS = -T linker.ld --strip-debug -melf_i386 --gc-sections --build-id=none -z norelro -z now
|
|
|
|
all: $(LIBRARY)
|
|
|
|
$(LIBRARY): $(OBJS)
|
|
@echo "LIB $@"; $(AR) rcs $@ $(OBJS)
|
|
|
|
.cpp.o:
|
|
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
|
|
|
|
clean:
|
|
@echo "CLEAN"; rm -f $(LIBRARY) $(OBJS)
|
|
|