Newer
Older
honey-os / src / hlib / Makefile
@biosfood biosfood on 15 Sep 2023 829 bytes hlib: fix include path
  1. CC = i686-elf-gcc
  2. CCFLAGS = -m32 -mtune=generic -ffreestanding -nostdlib -c -I ../include -I include -Wno-discarded-qualifiers -fms-extensions -Wno-shift-count-overflow -O0
  3. LD = i686-elf-ld
  4. LD_FLAGS = -z max-page-size=0x1000
  5. AS = nasm
  6. ASFlAGS = -felf32
  7.  
  8. BUILD_FOLDER = build
  9.  
  10. SOURCE_FILES := $(shell find . -name "*.c" -or -name "*.asm")
  11. OBJS := $(SOURCE_FILES:%=$(BUILD_FOLDER)/%.o)
  12.  
  13. ../../initrd/hlib: $(OBJS)
  14. @echo "linking the honey OS c libary"
  15. @$(LD) $(LD_FLAGS) -o ../../build/hlib.o $(OBJS) -T link.ld -r
  16. @$(LD) $(LD_FLAGS) -o $@ $(OBJS) -T link.ld
  17.  
  18. $(BUILD_FOLDER)/%.asm.o: %.asm
  19. @echo "asembling $<"
  20. @mkdir -p $(dir $@)
  21. @$(AS) $(ASFlAGS) $< -o $@
  22.  
  23. $(BUILD_FOLDER)/%.c.o: %.c
  24. @echo "compiling $<"
  25. @mkdir -p $(dir $@)
  26. @$(CC) $(CCFLAGS) -r $< -o $@
  27.  
  28. clean:
  29. @echo "clearing build folder"
  30. @rm -r $(BUILD_FOLDER)