160 lines
5 KiB
Makefile
160 lines
5 KiB
Makefile
|
|
DISTNAME = $(pkgname)-$(pkgversion)
|
|
AR = ar
|
|
INSTALL = install
|
|
INSTALL_PROGRAM = $(INSTALL) -p -m 755
|
|
INSTALL_DATA = $(INSTALL) -p -m 644
|
|
INSTALL_DIR = $(INSTALL) -d -m 755
|
|
LDCONFIG = ldconfig
|
|
SHELL = /bin/sh
|
|
|
|
lib_objs = decoder.o encoder.o lzlib.o
|
|
sh_lib_objs = sh_decoder.o sh_encoder.o sh_lzlib.o
|
|
objs = arg_parser.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_shared)
|
|
|
|
lib$(libname).a: $(lib_objs)
|
|
$(AR) -rcs $@ $^
|
|
|
|
lib$(libname).so.$(pkgversion) : $(sh_lib_objs)
|
|
$(CXX) -shared -Wl,--soname=lib$(libname).so.$(soversion) -o $@ $^
|
|
|
|
$(progname) : $(objs) lib$(libname).a
|
|
$(CXX) $(LDFLAGS) -o $@ $^
|
|
|
|
$(progname)_shared : $(objs) lib$(libname).so.$(pkgversion)
|
|
$(CXX) $(LDFLAGS) -o $@ $^
|
|
|
|
$(progname)_profiled : $(objs) lib$(libname).a
|
|
$(CXX) $(LDFLAGS) -pg -o $@ $^
|
|
|
|
bbexample : bbexample.o lib$(libname).a
|
|
$(CXX) $(LDFLAGS) -o $@ $^
|
|
|
|
lzcheck : lzcheck.o lib$(libname).a
|
|
$(CXX) $(LDFLAGS) -o $@ $^
|
|
|
|
main.o : main.cc
|
|
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -DPROGVERSION=\"$(pkgversion)\" -c -o $@ $<
|
|
|
|
%.o : %.cc
|
|
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
|
|
|
|
sh_decoder.o : decoder.cc
|
|
$(CXX) -fpic -fPIC $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
|
|
|
|
sh_encoder.o : encoder.cc
|
|
$(CXX) -fpic -fPIC $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
|
|
|
|
sh_lzlib.o : lzlib.cc
|
|
$(CXX) -fpic -fPIC $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
|
|
|
|
$(lib_objs) : Makefile lzlib.h lzip.h
|
|
$(sh_lib_objs) : Makefile lzlib.h lzip.h
|
|
$(objs) : Makefile
|
|
arg_parser.o : arg_parser.h
|
|
decoder.o : decoder.h
|
|
encoder.o : encoder.h
|
|
lzlib.o : decoder.h encoder.h
|
|
sh_decoder.o : decoder.h
|
|
sh_encoder.o : encoder.h
|
|
sh_lzlib.o : decoder.h encoder.h
|
|
main.o : arg_parser.h lzlib.h
|
|
bbexample.o : Makefile lzlib.h
|
|
lzcheck.o : Makefile lzlib.h
|
|
|
|
|
|
doc : info man
|
|
|
|
info : $(VPATH)/doc/$(pkgname).info
|
|
|
|
$(VPATH)/doc/$(pkgname).info : $(VPATH)/doc/$(pkgname).texinfo
|
|
cd $(VPATH)/doc && makeinfo $(pkgname).texinfo
|
|
|
|
man : $(VPATH)/doc/$(progname).1
|
|
|
|
$(VPATH)/doc/$(progname).1 : $(progname)
|
|
help2man -n 'reduces the size of files' \
|
|
-o $@ --no-info ./$(progname)
|
|
|
|
Makefile : $(VPATH)/configure $(VPATH)/Makefile.in
|
|
./config.status
|
|
|
|
check : all bbexample lzcheck
|
|
@$(VPATH)/testsuite/check.sh $(VPATH)/testsuite $(pkgversion)
|
|
|
|
install : all install-info
|
|
if [ ! -d "$(DESTDIR)$(includedir)" ] ; then $(INSTALL_DIR) "$(DESTDIR)$(includedir)" ; fi
|
|
if [ ! -d "$(DESTDIR)$(libdir)" ] ; then $(INSTALL_DIR) "$(DESTDIR)$(libdir)" ; fi
|
|
$(INSTALL_DATA) $(VPATH)/$(libname)lib.h "$(DESTDIR)$(includedir)/$(libname)lib.h"
|
|
$(INSTALL_DATA) ./lib$(libname).a "$(DESTDIR)$(libdir)/lib$(libname).a"
|
|
if [ -n "$(progname_shared)" ] ; then \
|
|
$(INSTALL_PROGRAM) ./lib$(libname).so.$(pkgversion) "$(DESTDIR)$(libdir)/lib$(libname).so.$(pkgversion)" ; \
|
|
if [ -e "$(DESTDIR)$(libdir)/lib$(libname).so.$(soversion)" ] ; then \
|
|
run_ldconfig=no ; rm -f "$(DESTDIR)$(libdir)/lib$(libname).so.$(soversion)" ; \
|
|
else run_ldconfig=yes ; \
|
|
fi ; \
|
|
cd "$(DESTDIR)$(libdir)" && ln -s lib$(libname).so.$(pkgversion) lib$(libname).so.$(soversion) ; \
|
|
if [ $${run_ldconfig} = yes ] ; then $(LDCONFIG) "$(DESTDIR)$(libdir)" ; fi ; \
|
|
fi
|
|
|
|
install-info :
|
|
if [ ! -d "$(DESTDIR)$(infodir)" ] ; then $(INSTALL_DIR) "$(DESTDIR)$(infodir)" ; fi
|
|
$(INSTALL_DATA) $(VPATH)/doc/$(pkgname).info "$(DESTDIR)$(infodir)/$(pkgname).info"
|
|
-install-info --info-dir="$(DESTDIR)$(infodir)" $(DESTDIR)$(infodir)/$(pkgname).info
|
|
|
|
install-man :
|
|
if [ ! -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)$(includedir)/$(libname)lib.h"
|
|
-rm -f "$(DESTDIR)$(libdir)/lib$(libname).a"
|
|
-rm -f "$(DESTDIR)$(libdir)/lib$(libname).so.$(soversion)"
|
|
-rm -f "$(DESTDIR)$(libdir)/lib$(libname).so.$(pkgversion)"
|
|
|
|
uninstall-info :
|
|
-install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$(pkgname).info"
|
|
-rm -f "$(DESTDIR)$(infodir)/$(pkgname).info"
|
|
|
|
uninstall-man :
|
|
-rm -f "$(DESTDIR)$(mandir)/man1/$(progname).1"
|
|
|
|
dist : doc
|
|
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/$(pkgname).info \
|
|
$(DISTNAME)/doc/$(pkgname).texinfo \
|
|
$(DISTNAME)/testsuite/check.sh \
|
|
$(DISTNAME)/testsuite/test.txt \
|
|
$(DISTNAME)/testsuite/test_sync.lz \
|
|
$(DISTNAME)/testsuite/test_v[01].lz \
|
|
$(DISTNAME)/*.h \
|
|
$(DISTNAME)/*.cc
|
|
rm -f $(DISTNAME)
|
|
lzip -v -9 $(DISTNAME).tar
|
|
|
|
clean :
|
|
-rm -f $(progname) $(progname)_profiled $(objs)
|
|
-rm -f $(progname)_shared $(sh_lib_objs) *.so.$(pkgversion)
|
|
-rm -f bbexample bbexample.o lzcheck lzcheck.o $(lib_objs) *.a
|
|
|
|
distclean : clean
|
|
-rm -f Makefile config.status *.tar *.tar.lz
|