aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLAN-TW <lantw44@gmail.com>2014-01-05 18:50:27 +0800
committerLAN-TW <lantw44@gmail.com>2014-01-05 18:51:19 +0800
commit46f3b2d118925a74a150cad1e910653be42cc01a (patch)
treededa18d5bc416c30f3fc8c66c0504462639246b3
parent4a877792392412507a346e3939ef94d411309337 (diff)
downloadl4basic-46f3b2d118925a74a150cad1e910653be42cc01a.tar.gz
l4basic-46f3b2d118925a74a150cad1e910653be42cc01a.tar.zst
l4basic-46f3b2d118925a74a150cad1e910653be42cc01a.zip
New make target: dist and distcheck
-rw-r--r--Makefile31
1 files changed, 30 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 07ea0c2..9574451 100644
--- a/Makefile
+++ b/Makefile
@@ -20,6 +20,7 @@ M_CFLAGS= -Wall -I. $(CFLAGS)
M_LDFLAGS= $(LDFLAGS)
# Installation
+NAME= l4basic
DESTDIR=
PREFIX= /usr/local
LIBDIR= $(DESTDIR)$(PREFIX)/lib
@@ -50,9 +51,18 @@ test_strv_o_DEPENDS= l4strv.o l4array.o
test_arg_o_DEPENDS= l4arg.o l4array.o l4strv.o
test_list_o_DEPENDS= l4list.o
+# Distribution
+EXTRA_DIST= Makefile README README.zh VERSION
+RM_R= $(RM) -r
+CHMOD_R= chmod -R 400
+CHMOD_W= chmod -R 755
+TAR_PACK= tar -zcf
+TAR_UNPACK= tar -zxf
+TARBALL_EXTENSION= .tar.gz
+
.POSIX:
.PHONY: all clean install install-HEADERS install-LIB \
- uninstall deinstall remove
+ uninstall deinstall remove dist distcheck
.SUFFIXES: .c.o
.c.o:
$(CC) $(M_CFLAGS) -c $< -o $@
@@ -101,3 +111,22 @@ remove: uninstall
uninstall:
for i in $(lib_LIBRARIES); do $(RM) $(LIBDIR)/$$i; done
for i in $(libl4basic_a_HEADERS); do $(RM) $(INCLUDEDIR)/$$i; done
+
+dist:
+ $(MKDIR_P) $(NAME)-`cat VERSION`
+ for i in $(EXTRA_DIST) $(check_OBJECTS:.o=.c) \
+ $(libl4basic_a_HEADERS) $(libl4basic_a_OBJECTS:.o=.c); do \
+ $(INSTALL) $$i $(NAME)-`cat VERSION`; done
+ $(TAR_PACK) $(NAME)-`cat VERSION`$(TARBALL_EXTENSION) $(NAME)-`cat VERSION`
+ $(RM_R) $(NAME)-`cat VERSION`
+
+distcheck: dist
+ $(TAR_UNPACK) $(NAME)-`cat VERSION`$(TARBALL_EXTENSION)
+ cd $(NAME)-`cat VERSION` && $(MAKE) \
+ CC="$(CC)" AR="$(AR)" RANLIB="$(RANLIB)" RM="$(RM)" \
+ MKDIR="$(MKDIR)" MKDIR_P="$(MKDIR_P)" INSTALL="$(INSTALL)" \
+ CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
+ $(RM_R) $(NAME)-`cat VERSION`
+ @echo "--------------------"
+ @echo "$(NAME)-`cat VERSION`$(TARBALL_EXTENSION) is ready for distribution!"
+ @echo "--------------------"