- CC = i686-elf-gcc
- CCFLAGS = -m32 -mtune=generic -ffreestanding -nostdlib -c -I ../include -I include -Wno-discarded-qualifiers -fms-extensions -Wno-shift-count-overflow -O0
- LD = i686-elf-ld
- LD_FLAGS = -z max-page-size=0x1000
- AS = nasm
- ASFlAGS = -felf32
-
- BUILD_FOLDER = build
-
- SOURCE_FILES := $(shell find . -name "*.c" -or -name "*.asm")
- OBJS := $(SOURCE_FILES:%=$(BUILD_FOLDER)/%.o)
-
- ../../initrd/hlib: $(OBJS)
- @echo "linking the honey OS c libary"
- @$(LD) $(LD_FLAGS) -o ../../build/hlib.o $(OBJS) -T link.ld -r
- @$(LD) $(LD_FLAGS) -o $@ $(OBJS) -T link.ld
-
- $(BUILD_FOLDER)/%.asm.o: %.asm
- @echo "asembling $<"
- @mkdir -p $(dir $@)
- @$(AS) $(ASFlAGS) $< -o $@
-
- $(BUILD_FOLDER)/%.c.o: %.c
- @echo "compiling $<"
- @mkdir -p $(dir $@)
- @$(CC) $(CCFLAGS) -r $< -o $@
-
- clean:
- @echo "clearing build folder"
- @rm -r $(BUILD_FOLDER)