Makefile 741 B

123456789101112131415161718192021222324252627
  1. SAMO_LIB := $(shell readlink -es ../samo-lib || readlink -es ../../samo-lib || readlink -es ../../../samo-lib)
  2. include ${SAMO_LIB}/Mk/definitions.mk
  3. LDFLAGS = -static --strip-all -s --no-gc-sections -N -L${MINI_LIBC}
  4. OBJCOPY_FLAGS = -I elf32-c33 -O binary
  5. CFLAGS += -I${SAMO_LIB_INCLUDE} -I${MINI_LIBC_INCLUDE}
  6. TARGETS = jackknife
  7. all: $(TARGETS)
  8. jackknife.elf: jackknife.o
  9. $(GCC) -o $@ $(LDFLAGS) $< -Wl,'-Ttext=0'
  10. jackknife: jackknife.elf
  11. $(OBJCOPY) $(OBJCOPY_FLAGS) --only-section=.text --set-start=0 $< $@
  12. @c=$$(wc --bytes < "$@") ; \
  13. echo mbr size = $${c} bytes, max = 512 bytes ; \
  14. if [ "$${c}" -gt 512 ]; then $(RM) "$@"; exit 99; fi
  15. clean:
  16. rm -fr $(TARGETS) *.o *.elf *.bin *.d *.asm33
  17. include ${SAMO_LIB}/Mk/rules.mk