Files
ladybird/Kernel/Makefile
Andreas Kling 9026598999 Kernel: Add a more expressive API for getting random bytes
We now have these API's in <Kernel/Random.h>:

    - get_fast_random_bytes(u8* buffer, size_t buffer_size)
    - get_good_random_bytes(u8* buffer, size_t buffer_size)
    - get_fast_random<T>()
    - get_good_random<T>()

Internally they both use x86 RDRAND if available, otherwise they fall
back to the same LCG we had in RandomDevice all along.

The main purpose of this patch is to give kernel code a way to better
express its needs for random data.

Randomness is something that will require a lot more work, but this is
hopefully a step in the right direction.
2020-01-03 12:43:07 +01:00

141 lines
3.4 KiB
Makefile

OBJS = \
../AK/FileSystemPath.o \
../AK/JsonParser.o \
../AK/JsonValue.o \
../AK/LogStream.o \
../AK/String.o \
../AK/StringBuilder.o \
../AK/StringImpl.o \
../AK/StringView.o \
../Libraries/LibELF/ELFImage.o \
../Libraries/LibELF/ELFLoader.o \
Arch/i386/APIC.o \
Arch/i386/CPU.o \
Arch/i386/PIC.o \
Arch/i386/PIT.o \
CMOS.o \
Console.o \
Devices/BXVGADevice.o \
Devices/BlockDevice.o \
Devices/CharacterDevice.o \
Devices/DebugLogDevice.o \
Devices/Device.o \
Devices/DiskDevice.o \
Devices/DiskPartition.o \
Devices/FloppyDiskDevice.o \
Devices/FullDevice.o \
Devices/GPTPartitionTable.o \
Devices/KeyboardDevice.o \
Devices/MBRPartitionTable.o \
Devices/MBVGADevice.o \
Devices/NullDevice.o \
Devices/PATAChannel.o \
Devices/PATADiskDevice.o \
Devices/PCSpeaker.o \
Devices/PS2MouseDevice.o \
Devices/RandomDevice.o \
Devices/SB16.o \
Devices/SerialDevice.o \
Devices/ZeroDevice.o \
DoubleBuffer.o \
FileSystem/Custody.o \
FileSystem/DevPtsFS.o \
FileSystem/DiskBackedFileSystem.o \
FileSystem/Ext2FileSystem.o \
FileSystem/FIFO.o \
FileSystem/File.o \
FileSystem/FileDescription.o \
FileSystem/FileSystem.o \
FileSystem/Inode.o \
FileSystem/InodeFile.o \
FileSystem/InodeWatcher.o \
FileSystem/ProcFS.o \
FileSystem/TmpFS.o \
FileSystem/VirtualFileSystem.o \
Heap/SlabAllocator.o \
Heap/kmalloc.o \
IRQHandler.o \
KBufferBuilder.o \
KParams.o \
KSyms.o \
Lock.o \
Net/E1000NetworkAdapter.o \
Net/IPv4Socket.o \
Net/LocalSocket.o \
Net/LoopbackAdapter.o \
Net/NetworkAdapter.o \
Net/NetworkTask.o \
Net/RTL8139NetworkAdapter.o \
Net/Routing.o \
Net/Socket.o \
Net/TCPSocket.o \
Net/UDPSocket.o \
PCI/Access.o \
PCI/IOAccess.o \
PCI/MMIOAccess.o \
PCI/Initializer.o \
Process.o \
ProcessTracer.o \
Profiling.o \
RTC.o \
Random.o \
Scheduler.o \
SharedBuffer.o \
StdLib.o \
Syscall.o \
TimerQueue.o \
TTY/MasterPTY.o \
TTY/PTYMultiplexer.o \
TTY/SlavePTY.o \
TTY/TTY.o \
TTY/VirtualConsole.o \
Thread.o \
VM/AnonymousVMObject.o \
VM/InodeVMObject.o \
VM/MemoryManager.o \
VM/PageDirectory.o \
VM/PhysicalPage.o \
VM/PhysicalRegion.o \
VM/PurgeableVMObject.o \
VM/RangeAllocator.o \
VM/Region.o \
VM/VMObject.o \
ACPI/ACPIParser.o \
ACPI/ACPIStaticParser.o \
ACPI/ACPIDynamicParser.o \
ACPI/DMIDecoder.o \
WaitQueue.o \
init.o \
kprintf.o
OBJ_SUFFIX = .kernel
MODULE_OBJS = TestModule$(OBJ_SUFFIX).o
EXTRA_OBJS = Arch/i386/Boot/boot.ao
KERNEL = 1
PROGRAM = kernel
SUBPROJECT_CXXFLAGS += -ffreestanding -mno-80387 -mno-mmx -mno-sse -mno-sse2 -fno-asynchronous-unwind-tables
SUBPROJECT_CXXFLAGS += -nostdlib -nostdinc -nostdinc++
SUBPROJECT_CXXFLAGS += -I../Toolchain/Local/i686-pc-serenity/include/c++/9.2.0/
SUBPROJECT_CXXFLAGS += -I../Toolchain/Local/i686-pc-serenity/include/c++/9.2.0/i686-pc-serenity/
LDFLAGS += -Ttext 0x100000 -Wl,-T linker.ld -nostdlib -lgcc -lstdc++
all: $(PROGRAM) $(MODULE_OBJS) kernel.map
kernel.map: kernel
@echo "MKMAP $@"
$(QUIET) sh mkmap.sh
EXTRA_CLEAN += kernel.map
install:
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/Kernel/
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/Kernel/
include ../Makefile.common