| Makefile runs properly on GNU systems and complies with Portage EAPI 4. |
| --- Makefile |
| +++ Makefile |
| @@ -1,15 +1,34 @@ |
| -CFLAGS += -O3 -lbz2 |
| +BINARIES = bsdiff bspatch |
| |
| -PREFIX ?= /usr/local |
| -INSTALL_PROGRAM ?= ${INSTALL} -c -s -m 555 |
| -INSTALL_MAN ?= ${INSTALL} -c -m 444 |
| +INSTALL = install |
| +CFLAGS += -O3 -Wall -Werror |
| |
| -all: bsdiff bspatch |
| -bsdiff: bsdiff.c |
| -bspatch: bspatch.c |
| +DESTDIR ?= |
| +PREFIX = /usr |
| +BINDIR = $(PREFIX)/bin |
| +DATADIR = $(PREFIX)/share |
| +MANDIR = $(DATADIR)/man |
| +MAN1DIR = $(MANDIR)/man1 |
| +INSTALL_PROGRAM ?= $(INSTALL) -c -m 755 |
| +INSTALL_MAN ?= $(INSTALL) -c -m 444 |
| + |
| +.PHONY: all clean |
| +all: $(BINARIES) |
| +clean: |
| + rm -f *.o $(BINARIES) |
| + |
| +bsdiff: bsdiff.o |
| +bsdiff: LDLIBS += -lbz2 -ldivsufsort -ldivsufsort64 |
| +bspatch: bspatch.o extents.o exfile.o |
| +bspatch: LDLIBS += -lbz2 |
| + |
| +bspatch.o: extents.h exfile.h |
| +extents.o: extents.h exfile.h |
| +exfile.o: exfile.h |
| |
| install: |
| - ${INSTALL_PROGRAM} bsdiff bspatch ${PREFIX}/bin |
| -.ifndef WITHOUT_MAN |
| - ${INSTALL_MAN} bsdiff.1 bspatch.1 ${PREFIX}/man/man1 |
| -.endif |
| + mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(MAN1DIR) |
| + $(INSTALL_PROGRAM) $(BINARIES) $(DESTDIR)$(BINDIR) |
| +ifndef WITHOUT_MAN |
| + $(INSTALL_MAN) $(BINARIES:=.1) $(DESTDIR)$(MAN1DIR) |
| +endif |