Makefile 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. TARGET = mkbootimg
  2. CC = gcc
  3. CFLAGS = -Wall -Wextra -ansi -pedantic
  4. SRCS = $(filter-out bin2h.c data.c,$(wildcard *.c)) data.c
  5. ifneq ("$(wildcard /bin/*.exe)","")
  6. CFLAGS += -Wno-long-long
  7. LIBDIRS = -static -static-libgcc
  8. ZIPNAME = ../$(TARGET)-Win.zip
  9. else
  10. ifneq ("$(wildcard /Applications/*)","")
  11. CFLAGS += -Wno-long-long
  12. ZIPNAME = ../$(TARGET)-MacOSX.zip
  13. CFLAGS += -DMACOSX
  14. else
  15. ZIPNAME = ../$(TARGET)-$(shell uname -s).zip
  16. endif
  17. endif
  18. OBJS = $(SRCS:.c=.o)
  19. INCBIN = ../dist/boot.bin ../dist/bootboot.bin ../dist/bootboot.efi ../dist/bootboot.img ../dist/bootboot.rv64 ../aarch64-rpi/LICENCE.broadcom ../aarch64-rpi/bootcode.bin ../aarch64-rpi/fixup.dat ../aarch64-rpi/start.elf
  20. all: data.c $(TARGET)
  21. ../aarch64-rpi/start.elf:
  22. make -C ../aarch64-rpi getfw
  23. data.c:
  24. $(CC) bin2h.c -o bin2h
  25. ./bin2h $(INCBIN) >data.c
  26. @rm bin2h
  27. zlib.o: zlib.c zlib.h
  28. $(CC) $(CFLAGS) -Wno-implicit-fallthrough zlib.c -c -o zlib.o
  29. %: %.c
  30. $(CC) $(CFLAGS) $< -c $@
  31. $(TARGET): $(OBJS)
  32. $(CC) $(OBJS) -o $(TARGET) $(LIBDIRS) $(LIBS)
  33. @zip $(ZIPNAME) $(TARGET)* DESCRIPT.ION
  34. clean:
  35. @rm $(TARGET)* *.o 2>/dev/null || true