Makefile 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. CC := $(CROSS_COMPILE)gcc
  2. AM_CFLAGS = -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2
  3. CFLAGS ?= -g -O2
  4. objects = \
  5. mmc.o \
  6. mmc_cmds.o \
  7. lsmmc.o \
  8. csi_rpmb.o \
  9. csi_test.o \
  10. 3rdparty/hmac_sha/hmac_sha2.o \
  11. 3rdparty/hmac_sha/sha2.o
  12. CHECKFLAGS = -Wall -Werror -Wuninitialized -Wundef
  13. DEPFLAGS = -Wp,-MMD,$(@D)/.$(@F).d,-MT,$@
  14. override CFLAGS := $(CHECKFLAGS) $(AM_CFLAGS) $(CFLAGS)
  15. INSTALL = install
  16. prefix ?= /usr/local
  17. bindir = $(prefix)/bin
  18. LIBS=
  19. RESTORE_LIBS=
  20. progs = mmc
  21. # make C=1 to enable sparse
  22. ifdef C
  23. check = sparse $(CHECKFLAGS)
  24. endif
  25. all: $(progs) manpages
  26. @echo CC=$(CC)
  27. .c.o:
  28. ifdef C
  29. $(check) $<
  30. endif
  31. $(CC) $(CPPFLAGS) $(CFLAGS) $(DEPFLAGS) -c $< -o $@
  32. mmc: $(objects)
  33. $(CC) $(CFLAGS) -o $@ $(objects) $(LDFLAGS) $(LIBS)
  34. manpages:
  35. $(MAKE) -C man
  36. install-man:
  37. $(MAKE) -C man install
  38. clean:
  39. rm -f $(progs) $(objects)
  40. $(MAKE) -C man clean
  41. install: $(progs) install-man
  42. $(INSTALL) -m755 -d $(DESTDIR)$(bindir)
  43. $(INSTALL) $(progs) $(DESTDIR)$(bindir)
  44. -include $(foreach obj,$(objects), $(dir $(obj))/.$(notdir $(obj)).d)
  45. .PHONY: all clean install manpages install-man