1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
VERSION=1.11.4
CFLAGS?=-g
MAINFLAGS:=-DVERSION='"$(VERSION)"' -Wall -Wextra -Werror -Wno-unused-parameter
INCLUDE+=-Iinclude
PREFIX?=/usr/local
BINDIR?=$(PREFIX)/bin
MANDIR?=$(PREFIX)/share/man
PCDIR?=$(PREFIX)/share/pkgconfig
OUTDIR=.build
HOST_SCDOC=./scdoc
.DEFAULT_GOAL=all
OBJECTS=\
$(OUTDIR)/main.o \
$(OUTDIR)/string.o \
$(OUTDIR)/utf8_chsize.o \
$(OUTDIR)/utf8_decode.o \
$(OUTDIR)/utf8_encode.o \
$(OUTDIR)/utf8_fgetch.o \
$(OUTDIR)/utf8_fputch.o \
$(OUTDIR)/utf8_size.o \
$(OUTDIR)/util.o
$(OUTDIR)/%.o: src/%.c
@mkdir -p $(OUTDIR)
$(CC) -std=c99 -pedantic -c -o $@ $(CFLAGS) $(MAINFLAGS) $(INCLUDE) $<
scdoc: $(OBJECTS)
$(CC) $(LDFLAGS) -o $@ $^
scdoc.1: scdoc.1.scd $(HOST_SCDOC)
$(HOST_SCDOC) < $< > $@
scdoc.5: scdoc.5.scd $(HOST_SCDOC)
$(HOST_SCDOC) < $< > $@
scdoc.pc: scdoc.pc.in
sed -e 's:@prefix@:$(PREFIX):g' -e 's:@version@:$(VERSION):g' < $< > $@
all: scdoc scdoc.1 scdoc.5 scdoc.pc
clean:
rm -rf $(OUTDIR) scdoc scdoc.1 scdoc.5 scdoc.pc
install: all
mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(MANDIR)/man1 $(DESTDIR)$(MANDIR)/man5 $(DESTDIR)$(PCDIR)
install -m755 scdoc $(DESTDIR)$(BINDIR)/scdoc
install -m644 scdoc.1 $(DESTDIR)$(MANDIR)/man1/scdoc.1
install -m644 scdoc.5 $(DESTDIR)$(MANDIR)/man5/scdoc.5
install -m644 scdoc.pc $(DESTDIR)$(PCDIR)/scdoc.pc
uninstall:
rm -f $(DESTDIR)$(BINDIR)/scdoc
rm -f $(DESTDIR)$(MANDIR)/man1/scdoc.1
rm -f $(DESTDIR)$(MANDIR)/man5/scdoc.5
rm -f $(DESTDIR)$(PCDIR)/scdoc.pc
check: scdoc scdoc.1 scdoc.5
@find test -perm -100 -exec '{}' \;
.PHONY: all clean install uninstall check
|