include Makefile.inc srcdir= @srcdir@ INSTALL= @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ #LIBEFENCE = -lefence #DEBUG = -g installprefix=$(ROOT) #LIBEFENCE = -lefence RCSVERSION = $(subst .,-,$(VERSION)) ################################### Leave this stuff alone ### These are variables meant to be exported VPATH = $(srcdir) WARNINGS = -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes BINDIR=$(prefix)/bin RPMBINDIR=$(subst usr/bin,bin,$(BINDIR)) MANDIR=$(prefix)/man/man8 LIBDIR=$(libdir) INCDIR=$(prefix)/include/rpm ETCDIR=$(ROOT)/etc NLSDIR=$(prefix)/lib/locale NLSPACKAGE=rpm # ----------------------------------------------------------------------- SUBDIRS = misc lib build tools @PO@ OBJS = rpm.o query.o install.o verify.o checksig.o ftp.o url.o @GETTEXTSTUB@ PROGS = @RPMSTATIC@ rpm.shared rpm2cpio LOADLIBES = -lbuild -lrpm @LIBMISC@ @LIBS@ @ZLIB@ @LIBINTL@ @LIBSOCKET@ @LIBDL@ ifeq (.depend,$(wildcard .depend)) TARGET=everything else TARGET=depend everything endif all: $(TARGET) rpm: lib/librpm.a build/libbuild.a $(OBJS) $(CC) -o rpm -static $(LDFLAGS) $(OBJS) $(LOADLIBES) \ $(LIBEFENCE) rpm.shared: lib/librpm.a build/libbuild.a $(OBJS) $(CC) -o rpm.shared $(LDFLAGS) $(OBJS) $(LOADLIBES) \ $(LIBEFENCE) rpm2cpio: lib/librpm.a rpm2cpio.o $(CC) -o rpm2cpio $(LDFLAGS) rpm2cpio.o $(LOADLIBES) rpm.o: rpm.c query.h install.h lib/rpmlib.h Makefile $(CC) $(CFLAGS) -DNLSPACKAGE=\"$(NLSPACKAGE)\" -DNLSDIR=\"$(NLSDIR)\" \ -c $(srcdir)/rpm.c # these rules should be in here, but they drive me batty #Makefile: Makefile.in misc/Makefile.in lib/Makefile.in build/Makefile.in \ #tools/Makefile.in po/Makefile.in config.status #sh ./config.status #config.status: configure #sh ./config.status --recheck #configure: configure.in #cd $(srcdir); autoconf everything: make-subdirs $(PROGS) make-subdirs: for d in $(SUBDIRS); do \ (cd $$d; $(MAKE)) \ || case "$(MFLAGS)" in *k*) fail=yes;; *) exit 1;; esac;\ done && test -z "$$fail" newtree: rm -f RCS ln -sf /usr/rhs/RCS/rpm-2.0 RCS for d in $(SUBDIRS) docs; do \ mkdir -p $$d ;\ (cd $$d; rm -f RCS; ln -sf /usr/rhs/RCS/rpm-2.0/$$d RCS) \ || case "$(MFLAGS)" in *k*) fail=yes;; *) exit 1;; esac;\ done && test -z "$$fail" $(PROGS): $(OBJS) install: all $(INSTALL) -m 755 -o 0 -g 0 -d $(installprefix)/$(RPMBINDIR) $(INSTALL) -m 755 -o 0 -g 0 -d $(installprefix)/$(BINDIR) $(INSTALL) -m 755 -o 0 -g 0 -d $(installprefix)/$(MANDIR) $(INSTALL) -m 755 -o 0 -g 0 -d $(installprefix)/$(ETCDIR) $(INSTALL) -m 755 -o 0 -g 0 -d $(installprefix)/$(LIBDIR) if [ -f rpm ]; then \ $(INSTALL) -s -m 755 -o 0 -g 0 rpm $(installprefix)/$(RPMBINDIR); \ else \ $(INSTALL) -s -m 755 -o 0 -g 0 rpm.shared $(installprefix)/$(RPMBINDIR)/rpm; \ fi $(INSTALL) -m 755 -o 0 -g 0 $(srcdir)/gendiff $(installprefix)/$(BINDIR) $(INSTALL) -m 755 -o 0 -g 0 $(srcdir)/find-provides $(installprefix)/$(BINDIR) $(INSTALL) -s -m 755 -o 0 -g 0 rpm2cpio $(installprefix)/$(BINDIR) $(INSTALL) -m 644 -o 0 -g 0 $(srcdir)/rpm.8 $(installprefix)/$(MANDIR) $(INSTALL) -m 644 -o 0 -g 0 $(srcdir)/rpm2cpio.8 $(installprefix)/$(MANDIR) if [ ! -f $(installprefix)/$(ETCDIR)/rpmrc ]; then \ $(INSTALL) -m 644 -o 0 -g 0 $(srcdir)/rpmrc $(installprefix)/$(ETCDIR)/rpmrc; \ fi $(INSTALL) -m 644 -o 0 -g 0 $(srcdir)/lib-rpmrc $(installprefix)/$(LIBDIR)/rpmrc (cd lib; make LIBDIR=$(installprefix)/$(LIBDIR) INCDIR=$(installprefix)/$(INCDIR) install) (cd po; make NLSDIR=$(installprefix)/$(NLSDIR) LIBDIR=$(installprefix)/$(LIBDIR) INCDIR=$(installprefix)/$(INCDIR) install) .PHONY: clean clean: for d in $(SUBDIRS); do \ (cd $$d; $(MAKE) $@) ;\ done rm -f *.a *.o core *~ $(PROGS) rpm.shared find . -name core -exec rm {} \; .PHONY: distclean distclean: for d in $(SUBDIRS); do \ (cd $$d; $(MAKE) $@) ;\ done rm -f *.a *.o core *~ $(PROGS) rpm.shared librpmrc rm -f .depend Makefile Makefile.inc config.h config.cache config.status config.log .PHONY: depend depend: $(CPP) $(CFLAGS) -M $(srcdir)/*.c > .depend for d in $(SUBDIRS); do \ (cd $$d; $(MAKE) $@) ;\ done co: co RCS/*,v for d in $(SUBDIRS) docs; do \ (cd $$d; co RCS/*,v) ;\ done noconfig: find . -name "Makefile" -exec rm {} \; rm -f *gz *rpm config.* rcstag: rcs -q -N$(RCSVERSION): RCS/*,v for d in $(SUBDIRS) docs; do \ (cd $$d; rcs -q -N$(RCSVERSION): RCS/*,v) ;\ done archive: rcstag @echo " " @echo "I hope you checked everything out and made sure it builds" @echo "maybe someday Erik will get around to making that automatic." @sleep 5 @rm -rf /tmp/rpm-$(VERSION) @mkdir /tmp/rpm-$(VERSION) @tar cSpf - * | (cd /tmp/rpm-$(VERSION); tar xSpf -) @cd /tmp/rpm-$(VERSION); \ make distclean; \ rm -f *.tar.gz; \ find . -name "RCS" -exec rm {} \; @cd /tmp; tar czSpf rpm-$(VERSION).tar.gz rpm-$(VERSION) @rm -rf /tmp/rpm-$(VERSION) @cp /tmp/rpm-$(VERSION).tar.gz . @rm -f /tmp/rpm-$(VERSION).tar.gz @echo " " @echo "The final archive is ./rpm-$(VERSION).tar.gz." ifeq (.depend,$(wildcard .depend)) include .depend endif