Files
epub2txt2/Makefile
Bernhard M. Wiedemann e2e366c0b3 Sort input file list
so that `epub2txt` builds in a reproducible way
in spite of indeterministic filesystem readdir order

See https://reproducible-builds.org/ for why this is good.
2022-03-18 19:51:22 +01:00

37 lines
889 B
Makefile

VERSION := 2.03
CC := gcc
CFLAGS := -Wall -fPIC -fPIE
LDFLAGS := -pie -s
DESTDIR :=
PREFIX := /usr
BINDIR := /bin
MANDIR := /share/man
APPNAME := epub2txt
TARGET := epub2txt
SOURCES := $(sort $(shell find src/ -type f -name *.c))
OBJECTS := $(patsubst src/%,build/%,$(SOURCES:.c=.o))
DEPS := $(OBJECTS:.o=.deps)
$(TARGET): $(OBJECTS)
$(CC) -o $(TARGET) $(LDFLAGS) $(OBJECTS)
build/%.o: src/%.c
@mkdir -p build/
$(CC) $(CFLAGS) -g -DVERSION=\"$(VERSION)\" -DAPPNAME=\"$(APPNAME)\" -MD -MF $(@:.o=.deps) -c -o $@ $<
clean:
$(RM) -r build/ $(TARGET)
install:
install -D -m 755 $(APPNAME) $(DESTDIR)/$(PREFIX)/$(BINDIR)/$(APPNAME)
install -D -m 644 man1/epub2txt.1 $(DESTDIR)/$(PREFIX)/$(MANDIR)/man1/epub2txt.1
uninstall:
rm -f $(DESTDIR)/$(PREFIX)/$(BINDIR)/$(APPNAME)
rm -f $(DESTDIR)/$(PREFIX)/$(MANDIR)/man1/epub2txt.1
-include $(DEPS)
.PHONY: clean install