blob: aa27ff2b770726bc26e50cc87a5c665b839b242b [file] [log] [blame]
Ben Gardiner61177552013-05-30 17:12:44 -04001CC ?= gcc
Goffredo Baroncelli80d26602012-02-12 11:43:14 -05002AM_CFLAGS = -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2
Ben Gardiner61177552013-05-30 17:12:44 -04003CFLAGS ?= -g -O2
Roman Peniaevfec76782014-07-21 21:53:44 +09004objects = \
5 mmc.o \
6 mmc_cmds.o \
Sebastian Rasmussen7e00a5a2016-02-23 13:37:28 +08007 lsmmc.o \
Roman Peniaevfec76782014-07-21 21:53:44 +09008 3rdparty/hmac_sha/hmac_sha2.o \
9 3rdparty/hmac_sha/sha2.o
Goffredo Baroncelli80d26602012-02-12 11:43:14 -050010
Ben Gardiner61177552013-05-30 17:12:44 -040011CHECKFLAGS = -Wall -Werror -Wuninitialized -Wundef
Goffredo Baroncelli80d26602012-02-12 11:43:14 -050012
13DEPFLAGS = -Wp,-MMD,$(@D)/.$(@F).d,-MT,$@
14
Ben Gardiner61177552013-05-30 17:12:44 -040015override CFLAGS := $(CHECKFLAGS) $(AM_CFLAGS) $(CFLAGS)
16
Goffredo Baroncelli80d26602012-02-12 11:43:14 -050017INSTALL = install
18prefix ?= /usr/local
19bindir = $(prefix)/bin
20LIBS=
21RESTORE_LIBS=
22
23progs = mmc
24
25# make C=1 to enable sparse
26ifdef C
27 check = sparse $(CHECKFLAGS)
28endif
29
30all: $(progs) manpages
31
32.c.o:
33ifdef C
34 $(check) $<
35endif
Roman Peniaevfec76782014-07-21 21:53:44 +090036 $(CC) $(CPPFLAGS) $(CFLAGS) $(DEPFLAGS) -c $< -o $@
Goffredo Baroncelli80d26602012-02-12 11:43:14 -050037
38mmc: $(objects)
39 $(CC) $(CFLAGS) -o $@ $(objects) $(LDFLAGS) $(LIBS)
40
41manpages:
Mike Frysingerbd920702013-12-11 14:33:28 -050042 $(MAKE) -C man
Goffredo Baroncelli80d26602012-02-12 11:43:14 -050043
44install-man:
Mike Frysingerbd920702013-12-11 14:33:28 -050045 $(MAKE) -C man install
Goffredo Baroncelli80d26602012-02-12 11:43:14 -050046
47clean:
48 rm -f $(progs) $(objects)
Mike Frysingerbd920702013-12-11 14:33:28 -050049 $(MAKE) -C man clean
Goffredo Baroncelli80d26602012-02-12 11:43:14 -050050
51install: $(progs) install-man
52 $(INSTALL) -m755 -d $(DESTDIR)$(bindir)
53 $(INSTALL) $(progs) $(DESTDIR)$(bindir)
Mike Frysingerbd920702013-12-11 14:33:28 -050054
Uwe Kleine-Königc08e3222017-12-21 11:22:04 +010055-include $(foreach obj,$(objects), $(dir $(obj))/.$(notdir $(obj)).d)
56
Mike Frysingerbd920702013-12-11 14:33:28 -050057.PHONY: all clean install manpages install-man