Makefile 786 B

123456789101112131415161718192021
  1. CC=x86_64-elf-gcc
  2. LD=x86_64-elf-ld
  3. OBJCOPY=x86_64-dragonos-objcopy
  4. # 修改这里,把它改为你的relibc的sysroot路径
  5. RELIBC_SYSROOT=/home/longjin/relibc/sysroot
  6. CFLAGS=-I $(RELIBC_SYSROOT)/usr/include
  7. # 修改这里,把它改为你的DragonOS的根目录
  8. ROOT_PATH=/home/longjin/code/DragonOS
  9. tmp_output_dir=$(ROOT_PATH)/bin/tmp/user
  10. output_dir=$(ROOT_PATH)/bin/user
  11. LIBC_OBJS:=$(shell find $(RELIBC_SYSROOT)/usr/lib -name "*.o")
  12. LIBC_OBJS+=$(RELIBC_SYSROOT)/usr/lib/libc.a
  13. all: main.o
  14. $(LD) -b elf64-x86-64 -z muldefs -o $(tmp_output_dir)/test $(shell find . -name "*.o") $(LIBC_OBJS) -T link.lds
  15. $(OBJCOPY) -I elf64-x86-64 -R ".eh_frame" -R ".comment" -O elf64-x86-64 $(tmp_output_dir)/test $(output_dir)/test.elf
  16. main.o: main.c
  17. $(CC) $(CFLAGS) -c main.c -o main.o