home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 February / CHIP_2_98.iso / misc / src / rpm / Makefile.in < prev    next >
Makefile  |  1997-09-17  |  6KB  |  185 lines

  1. include Makefile.inc
  2.  
  3. srcdir= @srcdir@
  4.  
  5. INSTALL= @INSTALL@
  6. INSTALL_PROGRAM = @INSTALL_PROGRAM@
  7. INSTALL_DATA = @INSTALL_DATA@
  8. #LIBEFENCE = -lefence
  9.  
  10. #DEBUG = -g
  11. installprefix=$(ROOT)
  12.  
  13. #LIBEFENCE = -lefence
  14.  
  15. CVSTAG = r$(subst .,-,$(VERSION))
  16.  
  17. ################################### Leave this stuff alone
  18.  
  19. ### These are variables meant to be exported
  20.  
  21. VPATH = $(srcdir)
  22. WARNINGS = -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes 
  23.  
  24. BINDIR=$(prefix)/bin
  25. RPMBINDIR=$(subst usr/bin,bin,$(BINDIR))
  26. MANDIR=$(prefix)/man/man8
  27. LIBDIR=$(libdir)
  28. INCDIR=$(prefix)/include/rpm
  29. ETCDIR=$(ROOT)/etc
  30.  
  31. # -----------------------------------------------------------------------
  32.  
  33. SUBDIRS = misc lib build tools @PO@
  34. INSTSUBDIRS = lib @PO@
  35. OTHERSUBDIRS = docs autodeps
  36. OBJS = rpm.o query.o install.o verify.o checksig.o ftp.o url.o @GETTEXTSTUB@
  37. PROGS = @RPM@ rpm2cpio
  38. LIBS = @LIBS@ @LIBINTL@ @LIBDL@
  39. LOADLIBES = -lbuild $(topdir)/lib/librpm.a -lmisc 
  40.  
  41. SOURCES = $(subst .o,.c,$(OBJS))
  42.  
  43. ifeq (.depend,$(wildcard .depend))
  44. TARGET=everything
  45. else
  46. TARGET=depend everything
  47. endif
  48.  
  49. all: $(TARGET)
  50.  
  51. rpm: lib/librpm.a build/libbuild.a misc/libmisc.a $(OBJS) 
  52.     $(CC) -o rpm -static $(LDFLAGS) $(OBJS) $(LOADLIBES) $(LIBS) \
  53.         $(LIBEFENCE)
  54.  
  55. rpm.shared: lib/librpm.a build/libbuild.a $(OBJS)
  56.     $(CC) -o rpm.shared $(LDFLAGS) $(OBJS) $(LOADLIBES) $(LIBS) \
  57.         $(LIBEFENCE)
  58.  
  59. # we don't normally build this, so ./configure doesn't try very hard
  60. # to make it work
  61. rpmconvert: lib/librpm.a convertdb.o oldrpmdb.o
  62.     $(CC) -o rpmconvert $(LDFLAGS) convertdb.o oldrpmdb.o -lgdbm \
  63.         $(LOADLIBES) $(LIBS)
  64.  
  65. rpm2cpio: lib/librpm.a rpm2cpio.o
  66.     $(CC) -o rpm2cpio $(LDFLAGS) rpm2cpio.o $(LOADLIBES) $(LIBS)
  67.  
  68. rpm.o: rpm.c query.h install.h lib/rpmlib.h Makefile
  69.     $(CC) $(CFLAGS) -DRPMNLSPACKAGE=\"$(RPMNLSPACKAGE)\" \
  70.         -DRPMNLSDIR=\"$(RPMNLSDIR)\" \
  71.         -c $(srcdir)/rpm.c
  72.  
  73. # these rules should be in here, but they drive me batty
  74. #Makefile: Makefile.in misc/Makefile.in lib/Makefile.in build/Makefile.in \
  75.           #tools/Makefile.in po/Makefile.in config.status
  76.     #sh ./config.status
  77.  
  78. #config.status: configure
  79.     #sh ./config.status --recheck
  80.  
  81. #configure: configure.in
  82.     #cd $(srcdir); autoconf
  83.  
  84. everything: make-subdirs $(PROGS)
  85.  
  86. make-subdirs:
  87.     for d in $(SUBDIRS); do \
  88.         (cd $$d; $(MAKE)) \
  89.           || case "$(MFLAGS)" in *k*) fail=yes;; *) exit 1;; esac;\
  90.     done && test -z "$$fail"
  91.  
  92. newtree:
  93.     rm -f RCS
  94.     ln -sf /usr/rhs/RCS/rpm-2.0 RCS
  95.     for d in $(SUBDIRS) $(OTHERSUBDIRS); do \
  96.         mkdir -p $$d ;\
  97.         (cd $$d; rm -f RCS; ln -sf /usr/rhs/RCS/rpm-2.0/$$d RCS) \
  98.           || case "$(MFLAGS)" in *k*) fail=yes;; *) exit 1;; esac;\
  99.     done && test -z "$$fail"
  100.  
  101. $(PROGS): $(OBJS)
  102.  
  103. install: all
  104.     [ -d $(installprefix)/$(RPMBINDIR) ] || \
  105.         mkdir -p $(installprefix)/$(RPMBINDIR)
  106.     [ -d $(installprefix)/$(RPMNLSDIR) ] || \
  107.         mkdir -p $(installprefix)/$(RPMNLSDIR)
  108.     [ -d $(installprefix)/$(BINDIR) ] || mkdir -p $(installprefix)/$(BINDIR)
  109.     [ -d $(installprefix)/$(MANDIR) ] || mkdir -p $(installprefix)/$(MANDIR)
  110.     [ -d $(installprefix)/$(ETCDIR) ] || mkdir -p $(installprefix)/$(ETCDIR)
  111.     [ -d $(installprefix)/$(LIBDIR) ] || mkdir -p $(installprefix)/$(LIBDIR)
  112.     [ -d $(installprefix)/$(INCDIR) ] || mkdir -p $(installprefix)/$(INCDIR)
  113.     if [ -x ./rpm ]; then \
  114.         $(INSTALL) -s -m 755 rpm $(installprefix)/$(RPMBINDIR); \
  115.     else \
  116.         $(INSTALL) -s -m 755 rpm.shared $(installprefix)/$(RPMBINDIR)/rpm; \
  117.     fi
  118.     $(INSTALL) -m 755 $(srcdir)/gendiff $(installprefix)/$(BINDIR)
  119.     $(INSTALL) -m 755 $(srcdir)/find-provides.sh $(installprefix)/$(BINDIR)/find-provides
  120.     $(INSTALL) -m 755 $(srcdir)/find-requires.sh $(installprefix)/$(BINDIR)/find-requires
  121.     $(INSTALL) -s -m 755 rpm2cpio $(installprefix)/$(BINDIR)
  122.     $(INSTALL) -m 644 $(srcdir)/rpm.8 $(installprefix)/$(MANDIR)
  123.     $(INSTALL) -m 644 $(srcdir)/rpm2cpio.8 $(installprefix)/$(MANDIR)
  124.     $(INSTALL) -m 644 $(srcdir)/lib-rpmrc $(installprefix)/$(LIBDIR)/rpmrc
  125.     $(INSTALL) -m 644 $(srcdir)/rpmpopt $(installprefix)/$(LIBDIR)/rpmpopt
  126.     (cd lib; $(MAKE) LIBDIR=$(installprefix)/$(LIBDIR) INCDIR=$(installprefix)/$(INCDIR) install)
  127.     for d in $(INSTSUBDIRS); do \
  128.         (cd $$d; $(MAKE) installprefix=$(installprefix) LIBDIR=$(installprefix)/$(LIBDIR) INCDIR=$(installprefix)/$(INCDIR) install) ;\
  129.     done
  130.  
  131. .PHONY:        clean
  132. clean:
  133.     for d in $(SUBDIRS); do \
  134.         (cd $$d; $(MAKE) $@) ;\
  135.     done
  136.     rm -f *.a *.o core *~ $(PROGS) rpm.shared
  137.     find . -name "*.orig" -exec rm {} \;
  138.     find . -name core -exec rm {} \;
  139.  
  140. .PHONY:        distclean
  141. distclean:    
  142.     for d in $(SUBDIRS); do \
  143.         (cd $$d; $(MAKE) $@) ;\
  144.     done
  145.     rm -f *.a *.o core *~ $(PROGS) rpm.shared librpmrc find-provides.sh find-requires.sh
  146.     rm -f .depend Makefile Makefile.inc config.h config.cache config.status config.log lib-rpmrc
  147.  
  148.  
  149. .PHONY:        depend
  150. depend:
  151.     $(CPP) $(CFLAGS) -M $(srcdir)/$(SOURCES) > .depend
  152.     for d in $(SUBDIRS); do \
  153.         (cd $$d; $(MAKE) $@) ;\
  154.     done
  155.  
  156. noconfig:
  157.     find . -name "Makefile" -exec rm {} \; 
  158.     rm -f *gz *rpm config.*
  159.  
  160. archive: 
  161.     @echo " "
  162.     @echo "I hope you checked everything out and made sure it builds"
  163.     @echo "maybe someday Erik will get around to making that automatic."
  164.     @echo
  165.     @echo "This is version $(VERSION)."
  166.     @sleep 5
  167.     cvs tag -F $(CVSTAG) .
  168.     @rm -rf /tmp/rpm-$(VERSION)
  169.     @mkdir /tmp/rpm-$(VERSION)
  170.     @tar cSpf - * | (cd /tmp/rpm-$(VERSION); tar xSpf -)
  171.     @cd /tmp/rpm-$(VERSION); \
  172.         make distclean; \
  173.         rm -f *.tar.gz; \
  174.         rm -rf CVS */CVS
  175.     @cd /tmp; tar czSpf rpm-$(VERSION).tar.gz rpm-$(VERSION)
  176.     @rm -rf /tmp/rpm-$(VERSION)
  177.     @cp /tmp/rpm-$(VERSION).tar.gz .
  178.     @rm -f /tmp/rpm-$(VERSION).tar.gz 
  179.     @echo " "
  180.     @echo "The final archive is ./rpm-$(VERSION).tar.gz."
  181.  
  182. ifeq (.depend,$(wildcard .depend))
  183. include .depend
  184. endif
  185.