summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile54
1 files changed, 54 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..0533be3
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,54 @@
+CC ?= gcc
+AM_CFLAGS = -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2
+CFLAGS ?= -g -O2
+objects = \
+ mmc.o \
+ mmc_cmds.o \
+ 3rdparty/hmac_sha/hmac_sha2.o \
+ 3rdparty/hmac_sha/sha2.o
+
+CHECKFLAGS = -Wall -Werror -Wuninitialized -Wundef
+
+DEPFLAGS = -Wp,-MMD,$(@D)/.$(@F).d,-MT,$@
+
+override CFLAGS := $(CHECKFLAGS) $(AM_CFLAGS) $(CFLAGS)
+
+INSTALL = install
+prefix ?= /usr/local
+bindir = $(prefix)/bin
+LIBS=
+RESTORE_LIBS=
+
+progs = mmc
+
+# make C=1 to enable sparse
+ifdef C
+ check = sparse $(CHECKFLAGS)
+endif
+
+all: $(progs) manpages
+
+.c.o:
+ifdef C
+ $(check) $<
+endif
+ $(CC) $(CPPFLAGS) $(CFLAGS) $(DEPFLAGS) -c $< -o $@
+
+mmc: $(objects)
+ $(CC) $(CFLAGS) -o $@ $(objects) $(LDFLAGS) $(LIBS)
+
+manpages:
+ $(MAKE) -C man
+
+install-man:
+ $(MAKE) -C man install
+
+clean:
+ rm -f $(progs) $(objects)
+ $(MAKE) -C man clean
+
+install: $(progs) install-man
+ $(INSTALL) -m755 -d $(DESTDIR)$(bindir)
+ $(INSTALL) $(progs) $(DESTDIR)$(bindir)
+
+.PHONY: all clean install manpages install-man