Split Makefile into two halves; added 'make distdir' target for building distribution tarballs

This commit is contained in:
Paul LeoNerd Evans 2008-11-18 15:37:37 +00:00
parent c41763c60a
commit 223d5b19a2

View File

@ -14,19 +14,11 @@ INCDIR=$(PREFIX)/include
MANDIR=$(PREFIX)/share/man MANDIR=$(PREFIX)/share/man
MAN3DIR=$(MANDIR)/man3 MAN3DIR=$(MANDIR)/man3
MANSOURCE=$(wildcard *.3.sh)
BUILTMAN=$(MANSOURCE:.3.sh=.3)
ifeq ($(DEBUG),1) ifeq ($(DEBUG),1)
CFLAGS_DEBUG=-ggdb -DDEBUG CFLAGS_DEBUG=-ggdb -DDEBUG
endif endif
all: termkey.h demo demo-async doc all: termkey.h demo demo-async
termkey.h: termkey.h.in Makefile
sed -e 's/@@VERSION_MAJOR@@/$(VERSION_MAJOR)/g' \
-e 's/@@VERSION_MINOR@@/$(VERSION_MINOR)/g' \
$< >$@
demo: libtermkey.so demo.c demo: libtermkey.so demo.c
$(CC) $(CFLAGS) $(CFLAGS_DEBUG) -o $@ $^ $(CC) $(CFLAGS) $(CFLAGS_DEBUG) -o $@ $^
@ -40,14 +32,9 @@ libtermkey.so: termkey.o driver-csi.o driver-ti.o
%.o: %.c termkey.h termkey-internal.h %.o: %.c termkey.h termkey-internal.h
$(CC) $(CFLAGS) $(CFLAGS_DEBUG) -Wall -std=c99 -fPIC -o $@ -c $< $(CC) $(CFLAGS) $(CFLAGS_DEBUG) -Wall -std=c99 -fPIC -o $@ -c $<
doc: $(BUILTMAN)
%.3: %.3.sh
sh $< >$@
.PHONY: clean .PHONY: clean
clean: clean:
rm -f *.o demo $(BUILTMAN) termkey.h rm -f *.o demo demo-async
.PHONY: install .PHONY: install
install: install-inc install-lib install-man install: install-inc install-lib install-man
@ -71,3 +58,33 @@ install-man:
ln -sf termkey_new.3.gz $(DESTDIR)$(MAN3DIR)/termkey_destroy.3.gz ln -sf termkey_new.3.gz $(DESTDIR)$(MAN3DIR)/termkey_destroy.3.gz
ln -sf termkey_getkey.3.gz $(DESTDIR)$(MAN3DIR)/termkey_getkey_force.3.gz ln -sf termkey_getkey.3.gz $(DESTDIR)$(MAN3DIR)/termkey_getkey_force.3.gz
ln -sf termkey_set_waittime.3.gz $(DESTDIR)$(MAN3DIR)/termkey_get_waittime.3.gz ln -sf termkey_set_waittime.3.gz $(DESTDIR)$(MAN3DIR)/termkey_get_waittime.3.gz
# DIST CUT
MANSOURCE=$(wildcard *.3.sh)
BUILTMAN=$(MANSOURCE:.3.sh=.3)
all: doc
doc: $(BUILTMAN)
%.3: %.3.sh
sh $< >$@
clean: clean-built
clean-built:
rm -f $(BUILTMAN) termkey.h
termkey.h: termkey.h.in Makefile
sed -e 's/@@VERSION_MAJOR@@/$(VERSION_MAJOR)/g' \
-e 's/@@VERSION_MINOR@@/$(VERSION_MINOR)/g' \
$< >$@
DISTDIR=libtermkey-$(VERSION_MAJOR).$(VERSION_MINOR)
distdir: all
mkdir $(DISTDIR)
cp *.c *.h *.3 $(DISTDIR)
cp *.pc.in $(DISTDIR)
sed "/^# DIST CUT/Q" <Makefile >$(DISTDIR)/Makefile