Makefile (851B)
1 DMD ?= dmd 2 DFLAGS ?= -g 3 _DFLAGS = $(DFLAGS) -Isrc -L-lnfc -Dd=docs/ 4 INSTALL ?= install 5 DESTDIR ?= 6 PREFIX ?= /usr/local 7 LIBDIR ?= lib 8 INCDIR ?= include/d 9 DOCDIR ?= share/docs/libnfc-d 10 11 SRC = src/nfc/package.d src/nfc/c.d 12 13 all: libnfc-d.a 14 15 src/nfc/c.d: src-gen/c.d.gen src-gen/types.awk 16 bash $< > $@ 17 18 libnfc-d.a: $(patsubst %.d,%.o,$(SRC)) 19 $(DMD) $(_DFLAGS) -lib -of=$@ $^ 20 21 examples/main: examples/main.o libnfc-d.a 22 $(DMD) $(_DFLAGS) -of=$@ $^ 23 24 %.o: %.d 25 $(DMD) $(_DFLAGS) -D -c -of=$@ $^ 26 27 install: libnfc-d.a $(SRC) 28 mkdir -p $(DESTDIR)$(PREFIX)/$(LIBDIR) 29 $(INSTALL) -m 644 libnfc-d.a $(DESTDIR)$(PREFIX)/$(LIBDIR)/libnfc-d.a 30 mkdir -p $(DESTDIR)$(PREFIX)/$(INCDIR)/nfc 31 $(INSTALL) -m 644 -t $(DESTDIR)$(PREFIX)/$(INCDIR)/nfc src/nfc/*.d 32 mkdir -p $(DESTDIR)$(PREFIX)/$(DOCDIR) 33 $(INSTALL) -m 644 -t $(DESTDIR)$(PREFIX)/$(DOCDIR) docs/package.html