makefile 808 B

123456789101112131415161718192021222324252627282930313233
  1. CC = x86_64-w64-mingw32-gcc
  2. LINK = x86_64-w64-mingw32-ld
  3. CC_OPTS = -fno-stack-protector -fpic -fshort-wchar -mno-red-zone
  4. LINK_OPTS = -e efi_main
  5. ALL_BIN = hello.efi videomode.efi mmap.efi load.efi
  6. ALL_INSTALL = install_hello install_videomode install_mmap install_load
  7. INSTALL_DIR = /boot/efi/EFI/efi_apps
  8. #---------------------------------------------------
  9. all: $(ALL_BIN)
  10. #---------------------------------------------------
  11. install: $(ALL_INSTALL)
  12. install_%: %.efi
  13. sudo cp -f $< $(INSTALL_DIR)
  14. #---------------------------------------------------
  15. %.efi: %.o
  16. $(LINK) -o $@ $< --subsystem 10 $(LINK_OPTS)
  17. %.o: %.c
  18. $(CC) -c -o $@ $< -I/usr/include/efi $(CC_OPTS)
  19. #---------------------------------------------------
  20. prepare:
  21. sudo mkdir /boot/efi/EFI/efi_apps
  22. clean:
  23. rm -f *.o
  24. rm -f *.efi