all: lib.a lib-ps5.a lib-elf.a clean: rm -f lib.a lib-*.a *.o syscalls.asm syscalls-ps5.asm dl.o: dl.c gcc -c -isystem ../freebsd-headers -nostdinc -fno-stack-protector dl.c -o dl.o -fPIE -ffreestanding crt-elf-c.o: crt-elf-c.c gcc -c -isystem ../freebsd-headers -nostdinc -fno-stack-protector -O3 crt-elf-c.c -o crt-elf-c.o -fPIE -ffreestanding crt.o: crt.asm yasm -f elf64 crt.asm crt-elf.o: crt-elf.asm yasm -f elf64 crt-elf.asm rfork.o: rfork.asm yasm -f elf64 rfork.asm syscalls.o: syscalls.asm yasm -f elf64 syscalls.asm syscalls.asm: syscalls.py syscalls.txt python3 syscalls.py > syscalls.asm syscalls-ps5.o: syscalls-ps5.asm yasm -f elf64 syscalls-ps5.asm syscalls-ps5.asm: syscalls-ps5.py python3 syscalls-ps5.py > syscalls-ps5.asm lib.a: crt.o rfork.o dl.o syscalls.o ld -r crt.o rfork.o dl.o syscalls.o -o lib.a lib-ps5.a: crt.o dl.o syscalls-ps5.o ld -r crt.o dl.o syscalls-ps5.o -o lib-ps5.a lib-elf.a: crt-elf.o crt-elf-c.o dl.o syscalls.o ld -r crt-elf.o crt-elf-c.o dl.o syscalls.o -o lib-elf.a