include $(ROOT)/mk/grabsrc.mk .PHONY: all clean PUTCHAR_ ?= fb CFLAGS := -ffreestanding -Wall -Wextra -fcommon -nostdinc \ -fdata-sections -ffunction-sections CFLAGS += -I. \ -I$(ROOT)/limine \ -I$(ROOT)/std/include \ -I./std \ -I./flanterm/src \ -I$(ROOT)/share \ -I./picotcp/include \ -I./picotcp/modules \ -I./port_picotcp \ -DPRINTF_INCLUDE_CONFIG_H=1 \ -DLFS_NO_ASSERT \ -DLFS_NO_DEBUG \ -DLFS_NO_WARN \ -DLFS_NO_ERROR \ -DFASTLZ_USE_MEMMOVE=0 \ -DFATFS_MAX_OPEN_FILES=128 \ -D"FAT_PRINTF(a)" include arch/$(ARCH)/$(ARCH).mk LDFLAGS += -nostdlib -static -T arch/$(ARCH)/link.ld $(shell $(CC) -print-libgcc-file-name) \ --gc-sections --strip-all SRCFILES := SRCFILES += $(call GRABSRC, \ . \ printf \ bitmap \ pmm \ bootinfo \ spinlock \ term \ dlmalloc \ vfs \ storedev \ util \ fs/kvfs \ fs/littlefs \ fs/portlfs \ fs/fatfs \ fs/portfatfs \ baseimg \ proc \ std \ flanterm/src \ flanterm/src/flanterm_backends \ syscall \ path \ rbuf \ ipc/pipe \ ipc/mbus \ dev \ randcrypto \ time \ diskpart \ FastLZ \ io \ intr \ cpu \ vmm \ pci \ pci/ata \ ) CFILES := $(call GET_CFILES, $(SRCFILES)) ASFILES := $(call GET_ASFILES, $(SRCFILES)) OBJ := $(call GET_OBJ, $(SRCFILES)) %.o: %.c $(CC) $(CFLAGS) -c $< -o $@ %.o: %.S $(CC) $(CFLAGS) -c $< -o $@ all: mop2 mop2: $(OBJ) $(LD) $^ $(LDFLAGS) -o $@ clean: rm -f $(OBJ) mop2