ARCH_FILES = FS/LOADER.BIN FS/FSD.BIN FS/BIOS16.DLL FS/BIOS32.DLL FS/PCI.DLL FS/ISADMA.DLL FS/CMOS.DLL FS/PCCONS.SYS FS/SETFONT.EXE FS/S3.SYS FS/ATI.SYS FS/PCKBD.SYS FS/C_A_D.CMD FS/SETKBD.EXE FS/SETMEM.EXE FS/SETTIME.EXE

ALL : $(COMMON_FILES) $(ARCH_FILES) $(COMMON_TARGETS)


OBJ/LOADER.O : ARCH/$(ARCH)/BOOT/LOADER.S
	$(PREPASM) -o $@ $<

FS/LOADER.BIN : OBJ/LOADER.O
	$(BINLD) -o $@ $<

FSD_ARCH_OBJ = OBJ/STRLEN.O OBJ/STRCPY.O OBJ/STPCPY.O OBJ/STRCAT.O OBJ/STPCAT.O OBJ/MEMCPY.O OBJ/MEMMOVE.O OBJ/MEMSET.O


OBJ/USYM.O : ARCH/$(ARCH)/LIB/KERNEL/USYM.S
	$(PREPASM) -o $@ $<

OBJ/BOOTASM.O : ARCH/$(ARCH)/LIB/KERNEL/BOOTASM.S
	$(PREPASM) -o $@ $<

BOOTSTRP_ARCH_OBJ = OBJ/USYM.O OBJ/BOOTASM.O OBJ/STPCPY.O OBJ/STRCMP.O OBJ/STRCHR.O OBJ/STRRCHR.O OBJ/MEMCHR.O OBJ/MEMCMP.O OBJ/MEMSET.O OBJ/MEMCPY.O OBJ/MEMMOVE.O OBJ/STRCSPN.O OBJ/STRLEN.O

OBJ/UBOOT.S : OBJ/DATADUMP$(HOST_EXE) OBJ/BOOTSTRP.SYS
	rm -f $@
	$^ /BOOTSTRAP >$@

OBJ/UBOOT.O : OBJ/UBOOT.S
	$(ASM) -o $@ $<


OBJ/STRNLEN.O : ARCH/$(ARCH)/KERNEL/LIBSTR/STRNLEN.S
	$(PREPASM) -o $@ $<

OBJ/STRLEN.O : ARCH/$(ARCH)/KERNEL/LIBSTR/STRLEN.S
	$(PREPASM) -o $@ $<

OBJ/STPCPY.O : ARCH/$(ARCH)/KERNEL/LIBSTR/STPCPY.S
	$(PREPASM) -o $@ $<

OBJ/STRCPY.O : ARCH/$(ARCH)/KERNEL/LIBSTR/STRCPY.S
	$(PREPASM) -o $@ $<

OBJ/STRLCPY.O : ARCH/$(ARCH)/KERNEL/LIBSTR/STRLCPY.S
	$(PREPASM) -o $@ $<

OBJ/STRLCAT.O : ARCH/$(ARCH)/KERNEL/LIBSTR/STRLCAT.S
	$(PREPASM) -o $@ $<

OBJ/STRNCPY.O : ARCH/$(ARCH)/KERNEL/LIBSTR/STRNCPY.S
	$(PREPASM) -o $@ $<

OBJ/MEMSET.O : ARCH/$(ARCH)/KERNEL/LIBSTR/MEMSET.S
	$(PREPASM) -o $@ $<

OBJ/MEMCCPY.O : ARCH/$(ARCH)/KERNEL/LIBSTR/MEMCCPY.S
	$(PREPASM) -o $@ $<

OBJ/MEMPCPY.O : ARCH/$(ARCH)/KERNEL/LIBSTR/MEMPCPY.S
	$(PREPASM) -o $@ $<

OBJ/MEMCPY.O : ARCH/$(ARCH)/KERNEL/LIBSTR/MEMCPY.S
	$(PREPASM) -o $@ $<

OBJ/MEMMOVE.O : ARCH/$(ARCH)/KERNEL/LIBSTR/MEMMOVE.S
	$(PREPASM) -o $@ $<

OBJ/STPCAT.O : ARCH/$(ARCH)/KERNEL/LIBSTR/STPCAT.S
	$(PREPASM) -o $@ $<

OBJ/STRCAT.O : ARCH/$(ARCH)/KERNEL/LIBSTR/STRCAT.S
	$(PREPASM) -o $@ $<

OBJ/STRNCAT.O : ARCH/$(ARCH)/KERNEL/LIBSTR/STRNCAT.S
	$(PREPASM) -o $@ $<

OBJ/STRCMP.O : ARCH/$(ARCH)/KERNEL/LIBSTR/STRCMP.S
	$(PREPASM) -o $@ $<

OBJ/STRCASEC.O : ARCH/$(ARCH)/KERNEL/LIBSTR/STRCASEC.S
	$(PREPASM) -o $@ $<

OBJ/MEMCMP.O : ARCH/$(ARCH)/KERNEL/LIBSTR/MEMCMP.S
	$(PREPASM) -o $@ $<

OBJ/STRNCMP.O : ARCH/$(ARCH)/KERNEL/LIBSTR/STRNCMP.S
	$(PREPASM) -o $@ $<

OBJ/STRCHR.O : ARCH/$(ARCH)/KERNEL/LIBSTR/STRCHR.S
	$(PREPASM) -o $@ $<

OBJ/STRRCHR.O : ARCH/$(ARCH)/KERNEL/LIBSTR/STRRCHR.S
	$(PREPASM) -o $@ $<

OBJ/MEMCHR.O : ARCH/$(ARCH)/KERNEL/LIBSTR/MEMCHR.S
	$(PREPASM) -o $@ $<

OBJ/STRPBRK.O : ARCH/IA32/KERNEL/LIBSTR/STRPBRK.S
	$(PREPASM) -c -o $@ $<

OBJ/STRCSPN.O : ARCH/IA32/KERNEL/LIBSTR/STRCSPN.S
	$(PREPASM) -c -o $@ $<

OBJ/STRSPN.O : ARCH/IA32/KERNEL/LIBSTR/STRSPN.S
	$(PREPASM) -c -o $@ $<

OBJ/STRSTR.O : ARCH/$(ARCH)/KERNEL/LIBSTR/STRSTR.S
	$(PREPASM) -o $@ $<

OBJ/SWAB.O : ARCH/$(ARCH)/KERNEL/LIBSTR/SWAB.S
	$(PREPASM) -o $@ $<

OBJ/SECUREL8.O : ARCH/$(ARCH)/KERNEL/LIBSTR/SECUREL8.S
	$(PREPASM) -o $@ $<

LIBSTR_ARCH_OBJ = OBJ/STRNLEN.O OBJ/STRLEN.O OBJ/STPCPY.O OBJ/STRCPY.O OBJ/STRLCPY.O OBJ/STRLCAT.O OBJ/STRNCPY.O OBJ/MEMSET.O OBJ/MEMCCPY.O OBJ/MEMPCPY.O OBJ/MEMCPY.O OBJ/MEMMOVE.O OBJ/STPCAT.O OBJ/STRCAT.O OBJ/STRNCAT.O OBJ/STRCMP.O OBJ/STRCASEC.O OBJ/MEMCMP.O OBJ/STRNCMP.O OBJ/STRCHR.O OBJ/STRRCHR.O OBJ/MEMCHR.O OBJ/STRPBRK.O OBJ/STRCSPN.O OBJ/STRSPN.O OBJ/STRSTR.O OBJ/SWAB.O OBJ/SECUREL8.O


OBJ/ASM.S : ARCH/$(ARCH)/KERNEL/ASM.S ARCH/$(ARCH)/KERNEL/ASMVSP.I
	$(PREP) -o $@ $<

OBJ/ASM.O : OBJ/ASM.S
	$(ASM) -o $@ $<

OBJ/ASMCOM.O : ARCH/$(ARCH)/KERNEL/ASMCOM.S
	$(PREPASM) -o $@ $<

OBJ/HEAPCOM.O : ARCH/$(ARCH)/KERNEL/HEAPCOM.S
	$(PREPASM) -o $@ $<

OBJ/SETJMP.O : ARCH/$(ARCH)/KERNEL/SETJMP.S
	$(PREPASM) -o $@ $<

OBJ/SETJMPSI.O : ARCH/$(ARCH)/KERNEL/SETJMPSI.S
	$(PREPASM) -o $@ $<

OBJ/DATADUMP$(HOST_EXE) : ARCH/$(ARCH)/TOOLS/DATADUMP.C
	$(HOST_CC) -o $@ $<

OBJ/INTMAP.DLL : OBJ/LINK$(HOST_EXE) OBJ/ASM.O
	OBJ/LINK$(HOST_EXE) -stext INTMAP -srodata no -sdata no -sbss no -d KERNEL/EMPTY.INT -jmp INTMAP\$$ENTRY -o $@ OBJ/ASM.O

OBJ/INTMAP.S : OBJ/DATADUMP$(HOST_EXE) OBJ/INTMAP.DLL
	rm -f $@
	$^ /INTMAP >$@

OBJ/INTMAP.O : OBJ/INTMAP.S
	$(ASM) -o $@ $<

OBJ/FAULTMAP.DLL : OBJ/LINK$(HOST_EXE) OBJ/ASM.O
	OBJ/LINK$(HOST_EXE) -stext FAULTMAP -srodata no -sdata no -sbss no -d KERNEL/EMPTY.INT -jmp FAULTMAP\$$ENTRY -o $@ OBJ/ASM.O

OBJ/FAULTMAP.S : OBJ/DATADUMP$(HOST_EXE) OBJ/FAULTMAP.DLL
	rm -f $@
	$^ /FAULTMAP >$@

OBJ/FAULTMAP.O : OBJ/FAULTMAP.S
	$(ASM) -o $@ $<

OBJ/BOOT.O : ARCH/$(ARCH)/KERNEL/BOOT.C
	$(CC_SIZE) -c -o $@ $<

OBJ/BOOTCFG.O : ARCH/$(ARCH)/KERNEL/BOOTCFG.C
	$(CC_SIZE) -c -o $@ $<

OBJ/MPS.O : ARCH/$(ARCH)/KERNEL/MPS.C
	$(CC_SIZE) -c -o $@ $<

OBJ/ACPI.O : ARCH/$(ARCH)/KERNEL/ACPI.C
	$(CC_SIZE) -c -o $@ $<

OBJ/MACHINE.O : ARCH/$(ARCH)/KERNEL/MACHINE.C
	$(CC_SIZE) -c -o $@ $<

OBJ/CACHEPRB.O : ARCH/$(ARCH)/KERNEL/CACHEPRB.C
	$(CC) -c -o $@ $<

OBJ/THREAD_A.O : ARCH/$(ARCH)/KERNEL/THREAD_A.S
	$(PREPASM) -o $@ $<

OBJ/IRQI8259.O : ARCH/$(ARCH)/KERNEL/IRQI8259.C
	$(CC_SIZE) -c -o $@ $<

OBJ/IRQAPIC.O : ARCH/$(ARCH)/KERNEL/IRQAPIC.C
	$(CC) -c -o $@ $<

OBJ/VM_COM.O : ARCH/$(ARCH)/KERNEL/VM_COM.C
	$(CC_SIZE) -c -o $@ $<

OBJ/VM_ARCH.O : ARCH/$(ARCH)/KERNEL/VM_ARCH.C ARCH/$(ARCH)/KERNEL/VM_ARCH.I
	$(CC) -c -o $@ $<

OBJ/VM_ARCHP.O : ARCH/$(ARCH)/KERNEL/VM_ARCHP.C ARCH/$(ARCH)/KERNEL/VM_ARCH.I
	$(CC) -c -o $@ $<

OBJ/MTRR.O : ARCH/$(ARCH)/KERNEL/MTRR.C
	$(CC_SIZE) -c -o $@ $<

OBJ/VSPACE_A.O : ARCH/$(ARCH)/KERNEL/VSPACE_A.S
	$(PREPASM) -o $@ $<

OBJ/CONSOLE.O : ARCH/$(ARCH)/KERNEL/CONSOLE.C
	$(CC_SIZE) -c -o $@ $<

OBJ/TIME.O : ARCH/$(ARCH)/KERNEL/TIME.C
	$(CC) -c -o $@ $<

OBJ/LIBCA.O : ARCH/$(ARCH)/KERNEL/LIBCA.C
	$(CC_SIZE) -c -o $@ $<

OBJ/CODEPAD.O : ARCH/$(ARCH)/KERNEL/CODEPAD.C
	$(CC) -c -o $@ $<

KERNEL_ARCH_OBJ = OBJ/ASM.O OBJ/ASMCOM.O OBJ/HEAPCOM.O OBJ/SETJMP.O OBJ/SETJMPSI.O OBJ/INTMAP.O OBJ/FAULTMAP.O OBJ/BOOT.O OBJ/BOOTCFG.O OBJ/MPS.O OBJ/ACPI.O OBJ/MACHINE.O OBJ/CACHEPRB.O OBJ/THREAD_A.O OBJ/IRQI8259.O OBJ/IRQAPIC.O OBJ/VM_COM.O OBJ/VM_ARCH.O OBJ/VM_ARCHP.O OBJ/MTRR.O OBJ/VSPACE_A.O OBJ/CONSOLE.O OBJ/TIME.O OBJ/LIBCA.O OBJ/CODEPAD.O OBJ/UBOOT.O $(LIBSTR_ARCH_OBJ)

KERNEL_LINK_FLAGS = -srodata .rodata,JMPTBL,FAULTMAP,.FEATURE_FIXUP,.FEATURE_FIXUP_END -jmp KERNEL\$$BOOT,KERNEL\$$SMPBOOT

KERNEL_ARCH_CLEAN_EXTRA = OBJ/ASM.S OBJ/INTMAP.DLL OBJ/INTMAP.S OBJ/FAULTMAP.DLL OBJ/FAULTMAP.S OBJ/UBOOT.S


OBJ/UASM.O : ARCH/$(ARCH)/LIB/KERNEL/UASM.S
	$(PREPASM) -o $@ $<

OBJ/UTHREADA.O : ARCH/$(ARCH)/LIB/KERNEL/UTHREADA.S
	$(PREPASM) -o $@ $<

OBJ/USTACK.O : ARCH/$(ARCH)/LIB/KERNEL/USTACK.C
	$(CC_SIZE) -c -o $@ $<

OBJ/LDT.O : ARCH/$(ARCH)/LIB/KERNEL/LDT.C
	$(CC_SIZE) -c -o $@ $<

LIBKERNEL_ARCH_OBJ = OBJ/USYM.O OBJ/UASM.O OBJ/ASMCOM.O OBJ/HEAPCOM.O OBJ/SETJMP.O OBJ/SETJMPSI.O OBJ/UTHREADA.O OBJ/LIBCA.O OBJ/CODEPAD.O OBJ/USTACK.O OBJ/UBOOT.O OBJ/LDT.O $(LIBSTR_ARCH_OBJ)

LIBKERNEL_ARCH_CLEAN_EXTRA = OBJ/UBOOT.S

LIBKERNEL_LINK_FLAGS = -reloc 00400000 -jmp KERNEL\$$BOOT,MALLOC_SLOW,FREE_SLOW

FSD_LINK_FLAGS = -reloc 00000000 -jmp _START


OBJ/BIOS16.O : ARCH/$(ARCH)/LIB/BIOS/BIOS16.C
	$(CC_SIZE) -c -o $@ $<

OBJ/BIOS16AS.O : ARCH/$(ARCH)/LIB/BIOS/BIOS16AS.S
	$(PREPASM) -o $@ $<

FS/BIOS16.DLL : OBJ/LINK$(HOST_EXE) OBJ/BIOS16.O OBJ/BIOS16AS.O
	$^ -d ARCH/$(ARCH)/INT/BIOS16.INT -l INT/KERNEL.INT -o $@ -y SYM/BIOS16.SYM

OBJ/BIOS32.O : ARCH/$(ARCH)/LIB/BIOS/BIOS32.C
	$(CC_SIZE) -c -o $@ $<

FS/BIOS32.DLL : OBJ/LINK$(HOST_EXE) OBJ/BIOS32.O
	$^ -d ARCH/$(ARCH)/INT/BIOS32.INT -l INT/KERNEL.INT -o $@ -y SYM/BIOS32.SYM

OBJ/PCI.O : ARCH/$(ARCH)/LIB/PCI/PCI.C LIB/PCI/PCICOMM.I
	$(CC_SIZE) -c -o $@ $<

FS/PCI.DLL : OBJ/LINK$(HOST_EXE) OBJ/PCI.O 
	$^ -d INT/PCI.INT -l INT/KERNEL.INT -l ARCH/$(ARCH)/INT/BIOS32.INT -o $@ -y SYM/PCI.SYM

OBJ/ISADMA.O : ARCH/$(ARCH)/LIB/DMA/ISADMA.C
	$(CC) -c -o $@ $<

FS/ISADMA.DLL : OBJ/LINK$(HOST_EXE) OBJ/ISADMA.O
	$^ -d INT/ISADMA.INT -l INT/KERNEL.INT -o $@ -y SYM/ISADMA.SYM

OBJ/CMOS.O : ARCH/$(ARCH)/LIB/CMOS/CMOS.C
	$(CC_SIZE) -c -o $@ $<

FS/CMOS.DLL : OBJ/LINK$(HOST_EXE) OBJ/CMOS.O
	$^ -d INT/CMOS.INT -l INT/KERNEL.INT -o $@ -y SYM/CMOS.SYM


OBJ/PCCONS.O : DRIVERS/DISPLAY/PCCONS.C DRIVERS/DISPLAY/CONS.I DRIVERS/DISPLAY/PCC_MAP.I
	$(CC) -c -o $@ $<

OBJ/VESA.O : DRIVERS/DISPLAY/VESA.C
	$(CC) -c -o $@ $<

FS/PCCONS.SYS : OBJ/LINK$(HOST_EXE) FS/CRT0.O OBJ/PCCONS.O OBJ/VESA.O
	$^ -device -l INT/KERNEL.INT -l ARCH/$(ARCH)/INT/BIOS16.INT -l INT/CMOS.INT -o $@ -y SYM/PCCONS.SYM

OBJ/SETFONT.O : DRIVERS/DISPLAY/FONT/SETFONT.C
	$(CC_SIZE) -c -o $@ $<

FS/SETFONT.EXE : OBJ/LINK$(HOST_EXE) FS/CRT0.O OBJ/SETFONT.O
	$^ -l INT/KERNEL.INT -l INT/CHARSET.INT -o $@ -y SYM/SETFONT.SYM

OBJ/S3.O : DRIVERS/DISPLAY/S3.C DRIVERS/DISPLAY/VGA.I DRIVERS/DISPLAY/DAC.I
	$(CC) -c -o $@ $<

FS/S3.SYS : OBJ/LINK$(HOST_EXE) FS/CRT0.O OBJ/S3.O
	$^ -device -l INT/KERNEL.INT -m INT/PCI.INT OTHER/LIBGCC.A -o $@ -y SYM/S3.SYM

OBJ/ATI.O : DRIVERS/DISPLAY/ATI.C
	$(CC) -c -o $@ $<

FS/ATI.SYS : OBJ/LINK$(HOST_EXE) FS/CRT0.O OBJ/ATI.O
	$^ -device -l INT/KERNEL.INT -l INT/PCI.INT OTHER/LIBGCC.A -o $@ -y SYM/ATI.SYM


OBJ/PCKBD.O : DRIVERS/KEYBOARD/PCKBD.C DRIVERS/KEYBOARD/KBD.I DRIVERS/KEYBOARD/PCKBD.I DRIVERS/KEYBOARD/PS2MOUSE.I
	$(CC_SIZE) -c -o $@ $<

FS/PCKBD.SYS : OBJ/LINK$(HOST_EXE) FS/CRT0.O OBJ/PCKBD.O
	$^ -device -l INT/KERNEL.INT OTHER/LIBGCC.A -o $@ -y SYM/PCKBD.SYM

FS/C_A_D.CMD : DRIVERS/KEYBOARD/C_A_D.CMD
	$(CP) $< $@

OBJ/SETKBD.O : DRIVERS/KEYBOARD/KEYMAP/SETKBD.C
	$(CC_SIZE) -c -o $@ $<

FS/SETKBD.EXE : OBJ/LINK$(HOST_EXE) FS/CRT0.O OBJ/SETKBD.O
	$^ -l INT/KERNEL.INT -l INT/CHARSET.INT -o $@ -y SYM/SETKBD.SYM


OBJ/SETMEM.O : ARCH/$(ARCH)/UTILS/SETMEM.C
	$(CC_SIZE) -c -o $@ $<

FS/SETMEM.EXE : OBJ/LINK$(HOST_EXE) FS/CRT0.O OBJ/SETMEM.O
	$^ -l INT/KERNEL.INT -l ARCH/$(ARCH)/INT/BIOS16.INT -o $@ -y SYM/SETMEM.SYM


OBJ/SETTIME.O : ARCH/$(ARCH)/UTILS/SETTIME.C
	$(CC_SIZE) -c -o $@ $<

FS/SETTIME.EXE : OBJ/LINK$(HOST_EXE) FS/CRT0.O OBJ/SETTIME.O
	$^ -l INT/KERNEL.INT -l INT/CMOS.INT -o $@ -y SYM/SETTIME.SYM


OBJ/IPCHECKA.O : ARCH/IA32/LIB/NET/IPCHECKA.S ARCH/IA32/LIB/NET/IPCHECKA.I
	$(PREPASM) -c -o $@ $<

OBJ/IPCHECKS.O : ARCH/IA32/LIB/NET/IPCHECKS.C
	$(CC_SIZE) -c -o $@ $<

NET_ARCH_OBJ = OBJ/IPCHECKA.O OBJ/IPCHECKS.O


OBJ/ABS.O : ARCH/IA32/LIB/LIBC/ABS.S
	$(PREPASM) -c -o $@ $<

OBJ/DIV.O : ARCH/IA32/LIB/LIBC/DIV.S
	$(PREPASM) -c -o $@ $<

ARCH_GEN_OBJ = OBJ/ABS.O OBJ/DIV.O OBJ/LDEXP.O OBJ/FLT_ROUNDS.O


OBJ/E_EXP.O : ARCH/$(ARCH)/LIB/LIBM/E_EXP.S
	$(PREPASM) -o $@ $<

OBJ/E_FMOD.O : ARCH/$(ARCH)/LIB/LIBM/E_FMOD.S
	$(PREPASM) -o $@ $<

OBJ/E_FMODL.O : ARCH/$(ARCH)/LIB/LIBM/E_FMODL.S
	$(PREPASM) -o $@ $<

OBJ/E_LOG.O : ARCH/$(ARCH)/LIB/LIBM/E_LOG.S
	$(PREPASM) -o $@ $<

OBJ/E_LOG10.O : ARCH/$(ARCH)/LIB/LIBM/E_LOG10.S
	$(PREPASM) -o $@ $<

OBJ/E_LOG10F.O : ARCH/$(ARCH)/LIB/LIBM/E_LOG10F.S
	$(PREPASM) -o $@ $<

OBJ/E_LOGF.O : ARCH/$(ARCH)/LIB/LIBM/E_LOGF.S
	$(PREPASM) -o $@ $<

OBJ/E_REMAINDER.O : ARCH/$(ARCH)/LIB/LIBM/E_REMAINDER.S
	$(PREPASM) -o $@ $<

OBJ/E_REMAINDERF.O : ARCH/$(ARCH)/LIB/LIBM/E_REMAINDERF.S
	$(PREPASM) -o $@ $<

OBJ/E_SCALB.O : ARCH/$(ARCH)/LIB/LIBM/E_SCALB.S
	$(PREPASM) -o $@ $<

OBJ/E_SCALBF.O : ARCH/$(ARCH)/LIB/LIBM/E_SCALBF.S
	$(PREPASM) -o $@ $<

OBJ/E_SQRT.O : ARCH/$(ARCH)/LIB/LIBM/E_SQRT.S
	$(PREPASM) -o $@ $<

OBJ/E_SQRTF.O : ARCH/$(ARCH)/LIB/LIBM/E_SQRTF.S
	$(PREPASM) -o $@ $<

OBJ/E_SQRTL.O : ARCH/$(ARCH)/LIB/LIBM/E_SQRTL.S
	$(PREPASM) -o $@ $<

OBJ/S_CEIL.O : ARCH/$(ARCH)/LIB/LIBM/S_CEIL.S
	$(PREPASM) -o $@ $<

OBJ/S_CEILF.O : ARCH/$(ARCH)/LIB/LIBM/S_CEILF.S
	$(PREPASM) -o $@ $<

OBJ/S_CEILL.O : ARCH/$(ARCH)/LIB/LIBM/S_CEILL.S
	$(PREPASM) -o $@ $<

OBJ/S_COPYSIGN.O : ARCH/$(ARCH)/LIB/LIBM/S_COPYSIGN.S
	$(PREPASM) -o $@ $<

OBJ/S_COPYSIGNF.O : ARCH/$(ARCH)/LIB/LIBM/S_COPYSIGNF.S
	$(PREPASM) -o $@ $<

OBJ/S_COPYSIGNL.O : ARCH/$(ARCH)/LIB/LIBM/S_COPYSIGNL.S
	$(PREPASM) -o $@ $<

OBJ/S_COS.O : ARCH/$(ARCH)/LIB/LIBM/S_COS.S
	$(PREPASM) -o $@ $<

OBJ/S_FINITE.O : ARCH/$(ARCH)/LIB/LIBM/S_FINITE.S
	$(PREPASM) -o $@ $<

OBJ/S_FLOOR.O : ARCH/$(ARCH)/LIB/LIBM/S_FLOOR.S
	$(PREPASM) -o $@ $<

OBJ/S_FLOORF.O : ARCH/$(ARCH)/LIB/LIBM/S_FLOORF.S
	$(PREPASM) -o $@ $<

OBJ/S_FLOORL.O : ARCH/$(ARCH)/LIB/LIBM/S_FLOORL.S
	$(PREPASM) -o $@ $<

OBJ/S_LLRINT.O : ARCH/$(ARCH)/LIB/LIBM/S_LLRINT.S
	$(PREPASM) -o $@ $<

OBJ/S_LLRINTF.O : ARCH/$(ARCH)/LIB/LIBM/S_LLRINTF.S
	$(PREPASM) -o $@ $<

OBJ/S_LOGB.O : ARCH/$(ARCH)/LIB/LIBM/S_LOGB.S
	$(PREPASM) -o $@ $<

OBJ/S_LOGBF.O : ARCH/$(ARCH)/LIB/LIBM/S_LOGBF.S
	$(PREPASM) -o $@ $<

OBJ/S_LRINT.O : ARCH/$(ARCH)/LIB/LIBM/S_LRINT.S
	$(PREPASM) -o $@ $<

OBJ/S_LRINTF.O : ARCH/$(ARCH)/LIB/LIBM/S_LRINTF.S
	$(PREPASM) -o $@ $<

OBJ/S_REMQUO.O : ARCH/$(ARCH)/LIB/LIBM/S_REMQUO.S
	$(PREPASM) -o $@ $<

OBJ/S_REMQUOF.O : ARCH/$(ARCH)/LIB/LIBM/S_REMQUOF.S
	$(PREPASM) -o $@ $<

OBJ/S_RINT.O : ARCH/$(ARCH)/LIB/LIBM/S_RINT.S
	$(PREPASM) -o $@ $<

OBJ/S_RINTF.O : ARCH/$(ARCH)/LIB/LIBM/S_RINTF.S
	$(PREPASM) -o $@ $<

OBJ/S_SCALBN.O : ARCH/$(ARCH)/LIB/LIBM/S_SCALBN.S
	$(PREPASM) -o $@ $<

OBJ/S_SCALBNF.O : ARCH/$(ARCH)/LIB/LIBM/S_SCALBNF.S
	$(PREPASM) -o $@ $<

OBJ/S_SCALBNL.O : ARCH/$(ARCH)/LIB/LIBM/S_SCALBNL.S
	$(PREPASM) -o $@ $<

OBJ/S_SIGNIFICAND.O : ARCH/$(ARCH)/LIB/LIBM/S_SIGNIFICAND.S
	$(PREPASM) -o $@ $<

OBJ/S_SIGNIFICANDF.O : ARCH/$(ARCH)/LIB/LIBM/S_SIGNIFICANDF.S
	$(PREPASM) -o $@ $<

OBJ/S_SIN.O : ARCH/$(ARCH)/LIB/LIBM/S_SIN.S
	$(PREPASM) -o $@ $<

OBJ/S_SINCOS.O : ARCH/$(ARCH)/LIB/LIBM/S_SINCOS.S
	$(PREPASM) -o $@ $<

OBJ/S_SINCOSF.O : ARCH/$(ARCH)/LIB/LIBM/S_SINCOSF.S
	$(PREPASM) -o $@ $<

OBJ/S_SINCOSL.O : ARCH/$(ARCH)/LIB/LIBM/S_SINCOSL.S
	$(PREPASM) -o $@ $<

OBJ/S_TAN.O : ARCH/$(ARCH)/LIB/LIBM/S_TAN.S
	$(PREPASM) -o $@ $<

OBJ/S_TRUNC.O : ARCH/$(ARCH)/LIB/LIBM/S_TRUNC.S
	$(PREPASM) -o $@ $<

OBJ/S_TRUNCF.O : ARCH/$(ARCH)/LIB/LIBM/S_TRUNCF.S
	$(PREPASM) -o $@ $<

OBJ/S_TRUNCL.O : ARCH/$(ARCH)/LIB/LIBM/S_TRUNCL.S
	$(PREPASM) -o $@ $<

OBJ/FENV.O : ARCH/$(ARCH)/LIB/LIBM/FENV.C
	$(CC) -c -o $@ $<

OBJ/FABS.O : ARCH/$(ARCH)/LIB/LIBM/FABS.S
	$(PREPASM) -c -o $@ $<

OBJ/INFINITY.O : ARCH/$(ARCH)/LIB/LIBM/INFINITY.C
	$(CC) -c -o $@ $<

OBJ/LDEXP.O : ARCH/$(ARCH)/LIB/LIBM/LDEXP.C
	$(CC) -c -o $@ $<

OBJ/FLT_ROUNDS.O : ARCH/$(ARCH)/LIB/LIBM/FLT_ROUNDS.C
	$(CC) -c -o $@ $<

ARCH_LIBM_OBJ = OBJ/E_EXP.O OBJ/E_FMOD.O OBJ/E_FMODL.O OBJ/E_LOG.O OBJ/E_LOG10.O OBJ/E_LOG10F.O OBJ/E_LOGF.O OBJ/E_REMAINDER.O OBJ/E_REMAINDERF.O OBJ/E_SCALB.O OBJ/E_SCALBF.O OBJ/E_SQRT.O OBJ/E_SQRTL.O OBJ/E_SQRTF.O OBJ/S_CEIL.O OBJ/S_CEILF.O OBJ/S_CEILL.O OBJ/S_COPYSIGN.O OBJ/S_COPYSIGNF.O OBJ/S_COPYSIGNL.O OBJ/S_COS.O OBJ/S_FINITE.O OBJ/S_FLOOR.O OBJ/S_FLOORF.O OBJ/S_FLOORL.O OBJ/S_LLRINT.O OBJ/S_LLRINTF.O OBJ/S_LOGB.O OBJ/S_LOGBF.O OBJ/S_LRINT.O OBJ/S_LRINTF.O OBJ/S_REMQUO.O OBJ/S_REMQUOF.O OBJ/S_RINT.O OBJ/S_RINTF.O OBJ/S_SCALBN.O OBJ/S_SCALBNF.O OBJ/S_SCALBNL.O OBJ/S_SIGNIFICAND.O OBJ/S_SIGNIFICANDF.O OBJ/S_SIN.O OBJ/S_SINCOS.O OBJ/S_SINCOSF.O OBJ/S_SINCOSL.O OBJ/S_TAN.O OBJ/S_TRUNC.O OBJ/S_TRUNCF.O OBJ/S_TRUNCL.O OBJ/FENV.O OBJ/FABS.O OBJ/INFINITY.O OBJ/LDEXP.O OBJ/FLT_ROUNDS.O
