85 lines
1.7 KiB
Makefile
85 lines
1.7 KiB
Makefile
include $(ROOT)/mk/grabsrc.mk
|
|
|
|
.PHONY: all clean
|
|
|
|
PUTCHAR_ ?= fb
|
|
|
|
CFLAGS := -ffreestanding -Wall -Wextra -g -fcommon -nostdinc
|
|
|
|
CFLAGS += -I. \
|
|
-I$(ROOT)/limine \
|
|
-I$(ROOT)/std/include \
|
|
-I./std \
|
|
-I./flanterm/src \
|
|
-DPRINTF_INCLUDE_CONFIG_H=1 \
|
|
-DLFS_NO_ASSERT \
|
|
-DLFS_NO_DEBUG \
|
|
-DLFS_NO_WARN \
|
|
-DLFS_NO_ERROR \
|
|
-DUACPI_BAREBONES_MODE
|
|
|
|
ifeq ($(ARCH),x86_64)
|
|
CFLAGS += -Ihal/x86_64/uACPI/include
|
|
endif
|
|
|
|
ifeq ($(PUTCHAR_),fb)
|
|
CFLAGS += -DPUTCHAR_=PUTCHAR_FB
|
|
else
|
|
CFLAGS += -DPUTCHAR_=PUTCHAR_SERIAL
|
|
endif
|
|
|
|
include arch/$(ARCH)/$(ARCH).mk
|
|
include extconf/extra.mk
|
|
|
|
LDFLAGS += -nostdlib -static -T arch/$(ARCH)/link.ld $(shell $(CC) -print-libgcc-file-name)
|
|
|
|
SRCFILES :=
|
|
|
|
SRCFILES += $(call GRABSRC, \
|
|
. \
|
|
printf \
|
|
bitmap \
|
|
pmm \
|
|
bootinfo \
|
|
spinlock \
|
|
term \
|
|
dlmalloc \
|
|
vfs \
|
|
storedev \
|
|
util \
|
|
fs/kvfs \
|
|
fs/littlefs \
|
|
fs/portlfs \
|
|
baseimg \
|
|
proc \
|
|
hal \
|
|
hal/$(ARCH) \
|
|
std \
|
|
flanterm/src \
|
|
flanterm/src/flanterm_backends \
|
|
syscall \
|
|
)
|
|
|
|
ifeq ($(ARCH),x86_64)
|
|
SRCFILES += $(call GRABSRC, hal/x86_64/uACPI/source)
|
|
endif
|
|
|
|
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
|
|
|