mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 15:47:45 +00:00

We were locking the list of references, and then destroying the reference, which made things go a little crazy. It's more straightforward to just remove the per-reference lock: the syscalls all have to lock the full list anyway, so let's just do that and avoid the hassle. While I'm at it, also move the SharedBuffer code out to its own file as it's getting a little long and unwieldly, and Process.cpp is already huge.
126 lines
3.1 KiB
Makefile
126 lines
3.1 KiB
Makefile
include ../Makefile.common
|
|
|
|
KERNEL_OBJS = \
|
|
init.o \
|
|
kmalloc.o \
|
|
StdLib.o \
|
|
Arch/i386/CPU.o \
|
|
Process.o \
|
|
SharedBuffer.o \
|
|
Thread.o \
|
|
Arch/i386/PIT.o \
|
|
Devices/KeyboardDevice.o \
|
|
CMOS.o \
|
|
Arch/i386/PIC.o \
|
|
Syscall.o \
|
|
Devices/IDEDiskDevice.o \
|
|
VM/MemoryManager.o \
|
|
VM/Region.o \
|
|
VM/VMObject.o \
|
|
VM/PageDirectory.o \
|
|
VM/PhysicalPage.o \
|
|
VM/PhysicalRegion.o \
|
|
VM/RangeAllocator.o \
|
|
Console.o \
|
|
IRQHandler.o \
|
|
kprintf.o \
|
|
RTC.o \
|
|
TTY/TTY.o \
|
|
TTY/PTYMultiplexer.o \
|
|
TTY/MasterPTY.o \
|
|
TTY/SlavePTY.o \
|
|
TTY/VirtualConsole.o \
|
|
FileSystem/FIFO.o \
|
|
Scheduler.o \
|
|
DoubleBuffer.o \
|
|
KSyms.o \
|
|
KParams.o \
|
|
FileSystem/SharedMemory.o \
|
|
FileSystem/DevPtsFS.o \
|
|
Devices/BXVGADevice.o \
|
|
PCI.o \
|
|
Devices/PS2MouseDevice.o \
|
|
Devices/SerialDevice.o \
|
|
Net/Socket.o \
|
|
Net/LocalSocket.o \
|
|
Net/IPv4Socket.o \
|
|
Net/TCPSocket.o \
|
|
Net/UDPSocket.o \
|
|
Net/NetworkAdapter.o \
|
|
Net/E1000NetworkAdapter.o \
|
|
Net/LoopbackAdapter.o \
|
|
Net/Routing.o \
|
|
Net/NetworkTask.o \
|
|
ProcessTracer.o \
|
|
Devices/PCSpeaker.o \
|
|
FileSystem/InodeFile.o \
|
|
FileSystem/Custody.o \
|
|
FileSystem/File.o
|
|
|
|
VFS_OBJS = \
|
|
FileSystem/ProcFS.o \
|
|
FileSystem/Inode.o \
|
|
Devices/DiskDevice.o \
|
|
Devices/Device.o \
|
|
Devices/CharacterDevice.o \
|
|
Devices/BlockDevice.o \
|
|
Devices/NullDevice.o \
|
|
Devices/FullDevice.o \
|
|
Devices/ZeroDevice.o \
|
|
Devices/RandomDevice.o \
|
|
Devices/DebugLogDevice.o \
|
|
Devices/DiskPartition.o \
|
|
Devices/MBRPartitionTable.o \
|
|
FileSystem/FileSystem.o \
|
|
FileSystem/DiskBackedFileSystem.o \
|
|
FileSystem/Ext2FileSystem.o \
|
|
FileSystem/VirtualFileSystem.o \
|
|
FileSystem/FileDescription.o \
|
|
FileSystem/SyntheticFileSystem.o \
|
|
Devices/SB16.o
|
|
|
|
AK_OBJS = \
|
|
../AK/String.o \
|
|
../AK/StringImpl.o \
|
|
../AK/StringBuilder.o \
|
|
../AK/StringView.o \
|
|
../AK/FileSystemPath.o \
|
|
../AK/StdLibExtras.o \
|
|
../AK/JsonObject.o \
|
|
../AK/JsonValue.o \
|
|
../AK/JsonArray.o \
|
|
../AK/JsonParser.o \
|
|
../AK/LogStream.o \
|
|
../AK/ELF/ELFImage.o \
|
|
../AK/ELF/ELFLoader.o
|
|
|
|
CXX_OBJS = $(KERNEL_OBJS) $(VFS_OBJS) $(AK_OBJS)
|
|
OBJS = $(CXX_OBJS) Boot/boot.ao
|
|
|
|
KERNEL = kernel
|
|
CXXFLAGS += -ffreestanding -mregparm=3 -mno-80387 -mno-mmx -mno-sse -mno-sse2
|
|
CXXFLAGS += -nostdlib -nostdinc -nostdinc++
|
|
CXXFLAGS += -I../Toolchain/Local/i686-pc-serenity/include/c++/8.3.0/
|
|
CXXFLAGS += -I../Toolchain/Local/i686-pc-serenity/include/c++/8.3.0/i686-pc-serenity/
|
|
DEFINES += -DKERNEL
|
|
LDFLAGS += -Ttext 0x10000 -Wl,-T linker.ld -nostdlib
|
|
|
|
all: $(KERNEL) kernel.map
|
|
|
|
kernel.map: kernel
|
|
@echo "MKMAP $@"; sh mkmap.sh
|
|
|
|
$(KERNEL): $(OBJS)
|
|
@echo "LD $@"; $(LD) $(LDFLAGS) -o $@ $(OBJS)
|
|
|
|
.cpp.o:
|
|
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
|
|
|
|
%.ao: %.S
|
|
@echo "AS $@"; $(AS) -o $@ $<
|
|
|
|
-include $(CXX_OBJS:%.o=%.d)
|
|
|
|
clean:
|
|
@echo "CLEAN"; rm -f $(KERNEL) $(OBJS) *.d
|
|
|