150 lines
4.9 KiB
Makefile
150 lines
4.9 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)
|
|
|
|
$(libname).a: $(lib_objs)
|
|
$(AR) -rcs $(libname).a $(lib_objs)
|
|
|
|
$(libname).so.$(pkgversion) : $(sh_lib_objs)
|
|
$(CXX) -shared -Wl,--soname=$(libname).so.$(soversion) -o $(libname).so.$(pkgversion) $(sh_lib_objs)
|
|
|
|
$(progname) : $(objs) $(libname).a
|
|
$(CXX) $(LDFLAGS) -o $(progname) $(objs) $(libname).a
|
|
|
|
$(progname)_shared : $(objs) $(libname).so.$(pkgversion)
|
|
$(CXX) $(LDFLAGS) -o $(progname)_shared $(objs) $(libname).so.$(pkgversion)
|
|
|
|
$(progname)_profiled : $(objs) $(libname).a
|
|
$(CXX) $(LDFLAGS) -pg -o $(progname)_profiled $(objs) $(libname).a
|
|
|
|
lzcheck : lzcheck.o $(libname).a
|
|
$(CXX) $(LDFLAGS) -o lzcheck lzcheck.o $(libname).a
|
|
|
|
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_decoder.o $<
|
|
|
|
sh_encoder.o : encoder.cc
|
|
$(CXX) -fpic -fPIC $(CPPFLAGS) $(CXXFLAGS) -c -o sh_encoder.o $<
|
|
|
|
sh_lzlib.o : lzlib.cc
|
|
$(CXX) -fpic -fPIC $(CPPFLAGS) $(CXXFLAGS) -c -o sh_lzlib.o $<
|
|
|
|
$(lib_objs) : Makefile lzlib.h lzip.h
|
|
$(sh_lib_objs) : Makefile lzlib.h lzip.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
|
|
arg_parser.o : Makefile arg_parser.h
|
|
main.o : Makefile arg_parser.h lzlib.h $(libname).a
|
|
|
|
|
|
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 -o $(VPATH)/doc/$(progname).1 --no-info ./$(progname)
|
|
|
|
Makefile : $(VPATH)/configure $(VPATH)/Makefile.in
|
|
./config.status
|
|
|
|
check : all $(VPATH)/testsuite/check.sh lzcheck
|
|
@$(VPATH)/testsuite/check.sh $(VPATH)/testsuite
|
|
|
|
install : all install-info
|
|
if test ! -d $(DESTDIR)$(includedir) ; then $(INSTALL_DIR) $(DESTDIR)$(includedir) ; fi
|
|
if test ! -d $(DESTDIR)$(libdir) ; then $(INSTALL_DIR) $(DESTDIR)$(libdir) ; fi
|
|
$(INSTALL_DATA) $(VPATH)/$(pkgname).h $(DESTDIR)$(includedir)/$(pkgname).h
|
|
$(INSTALL_DATA) ./$(libname).a $(DESTDIR)$(libdir)/$(libname).a
|
|
if test -n "$(progname_shared)" ; then \
|
|
$(INSTALL_PROGRAM) ./$(libname).so.$(pkgversion) $(DESTDIR)$(libdir)/$(libname).so.$(pkgversion) ; \
|
|
if test -a $(DESTDIR)$(libdir)/$(libname).so.$(soversion) ; then \
|
|
run_ldconfig=no ; rm -f $(DESTDIR)$(libdir)/$(libname).so.$(soversion) ; \
|
|
else run_ldconfig=yes ; \
|
|
fi ; \
|
|
cd $(DESTDIR)$(libdir) && ln -s $(libname).so.$(pkgversion) $(libname).so.$(soversion) ; \
|
|
if test $${run_ldconfig} = yes ; then $(LDCONFIG) $(DESTDIR)$(libdir) ; fi ; \
|
|
fi
|
|
|
|
install-info :
|
|
if test ! -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 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
|
|
-rm -f $(DESTDIR)$(includedir)/$(pkgname).h
|
|
-rm -f $(DESTDIR)$(libdir)/$(libname).a
|
|
-rm -f $(DESTDIR)$(libdir)/$(libname).so.$(soversion)
|
|
-rm -f $(DESTDIR)$(libdir)/$(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 :
|
|
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/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) $(lib_objs) *.a
|
|
-rm -f $(progname)_shared $(sh_lib_objs) *.so.$(pkgversion)
|
|
|
|
distclean : clean
|
|
-rm -f Makefile config.status *.tar *.tar.lz
|