108 lines
3.1 KiB
Makefile
108 lines
3.1 KiB
Makefile
|
|
||
|
DISTNAME = $(progname)-$(progversion)
|
||
|
INSTALL = install
|
||
|
INSTALL_PROGRAM = $(INSTALL) -p -m 755
|
||
|
INSTALL_DATA = $(INSTALL) -p -m 644
|
||
|
INSTALL_DIR = $(INSTALL) -d -m 755
|
||
|
LIBS = -llz -lpthread
|
||
|
SHELL = /bin/sh
|
||
|
|
||
|
objs = arg_parser.o lacos_rbtree.o plzip.o main.o
|
||
|
|
||
|
|
||
|
.PHONY : all install install-info install-man install-strip \
|
||
|
uninstall uninstall-info uninstall-man \
|
||
|
doc info man check dist clean distclean
|
||
|
|
||
|
all : $(progname)
|
||
|
|
||
|
$(progname) : $(objs)
|
||
|
$(CXX) $(LDFLAGS) -o $(progname) $(objs) $(LIBS)
|
||
|
|
||
|
$(progname)_profiled : $(objs)
|
||
|
$(CXX) $(LDFLAGS) -pg -o $(progname)_profiled $(objs) $(LIBS)
|
||
|
|
||
|
main.o : main.cc
|
||
|
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -DPROGVERSION=\"$(progversion)\" -c -o $@ $<
|
||
|
|
||
|
%.o : %.cc
|
||
|
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
|
||
|
|
||
|
$(objs) : Makefile
|
||
|
arg_parser.o : arg_parser.h
|
||
|
lacos_rbtree.o: lacos_rbtree.h
|
||
|
main.o : arg_parser.h main.h plzip.h
|
||
|
plzip.o : lacos_rbtree.h main.h plzip.h
|
||
|
|
||
|
doc : info man
|
||
|
|
||
|
info : $(VPATH)/doc/$(progname).info
|
||
|
|
||
|
$(VPATH)/doc/$(progname).info : $(VPATH)/doc/$(progname).texinfo
|
||
|
cd $(VPATH)/doc && makeinfo $(progname).texinfo
|
||
|
|
||
|
man : $(VPATH)/doc/$(progname).1
|
||
|
|
||
|
$(VPATH)/doc/$(progname).1 : $(progname)
|
||
|
help2man -n 'data compressor based on the LZMA algorithm' \
|
||
|
-o $(VPATH)/doc/$(progname).1 ./$(progname)
|
||
|
|
||
|
Makefile : $(VPATH)/configure $(VPATH)/Makefile.in
|
||
|
./config.status
|
||
|
|
||
|
check : all $(VPATH)/testsuite/check.sh
|
||
|
@$(VPATH)/testsuite/check.sh $(VPATH)/testsuite
|
||
|
|
||
|
install : all install-info install-man
|
||
|
if test ! -d $(DESTDIR)$(bindir) ; then $(INSTALL_DIR) $(DESTDIR)$(bindir) ; fi
|
||
|
$(INSTALL_PROGRAM) ./$(progname) $(DESTDIR)$(bindir)/$(progname)
|
||
|
|
||
|
install-info :
|
||
|
if test ! -d $(DESTDIR)$(infodir) ; then $(INSTALL_DIR) $(DESTDIR)$(infodir) ; fi
|
||
|
$(INSTALL_DATA) $(VPATH)/doc/$(progname).info $(DESTDIR)$(infodir)/$(progname).info
|
||
|
-install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$(progname).info
|
||
|
|
||
|
install-man :
|
||
|
if test ! -d $(DESTDIR)$(mandir)/man1 ; then $(INSTALL_DIR) $(DESTDIR)$(mandir)/man1 ; fi
|
||
|
$(INSTALL_DATA) $(VPATH)/doc/$(progname).1 $(DESTDIR)$(mandir)/man1/$(progname).1
|
||
|
|
||
|
install-strip : all
|
||
|
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install
|
||
|
|
||
|
uninstall : uninstall-info uninstall-man
|
||
|
-rm -f $(DESTDIR)$(bindir)/$(progname)
|
||
|
|
||
|
uninstall-info :
|
||
|
-install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$(progname).info
|
||
|
-rm -f $(DESTDIR)$(infodir)/$(progname).info
|
||
|
|
||
|
uninstall-man :
|
||
|
-rm -f $(DESTDIR)$(mandir)/man1/$(progname).1
|
||
|
|
||
|
dist :
|
||
|
ln -sf $(VPATH) $(DISTNAME)
|
||
|
tar -cvf $(DISTNAME).tar \
|
||
|
$(DISTNAME)/AUTHORS \
|
||
|
$(DISTNAME)/COPYING \
|
||
|
$(DISTNAME)/ChangeLog \
|
||
|
$(DISTNAME)/INSTALL \
|
||
|
$(DISTNAME)/Makefile.in \
|
||
|
$(DISTNAME)/NEWS \
|
||
|
$(DISTNAME)/README \
|
||
|
$(DISTNAME)/configure \
|
||
|
$(DISTNAME)/doc/$(progname).1 \
|
||
|
$(DISTNAME)/doc/$(progname).info \
|
||
|
$(DISTNAME)/doc/$(progname).texinfo \
|
||
|
$(DISTNAME)/testsuite/COPYING.lz \
|
||
|
$(DISTNAME)/testsuite/check.sh \
|
||
|
$(DISTNAME)/*.h \
|
||
|
$(DISTNAME)/*.cc
|
||
|
rm -f $(DISTNAME)
|
||
|
lzip -v -9 $(DISTNAME).tar
|
||
|
|
||
|
clean :
|
||
|
-rm -f $(progname) $(progname)_profiled $(objs)
|
||
|
|
||
|
distclean : clean
|
||
|
-rm -f Makefile config.status *.tar *.tar.lz
|