# Top level Makefile for rpm AUTOMAKE_OPTIONS = 1.4 foreign LINT = splint EXTRA_DIST = CHANGES CREDITS Doxyheader GROUPS README.amiga INSTALL \ RPM-GPG-KEY RPM-PGP-KEY \ autodeps/none autodeps/*.prov autodeps/*.req autogen.sh \ config.site db db3/configure gendiff installplatform platform* \ xmlspec/Makefile xmlspec/*.c xmlspec/*.h \ xmlspec/examples/*.sh xmlspec/examples/*.lst \ xmlspec/examples/*.xmlspec \ po/*.in po/*.po po/rpm.pot \ rpm.magic rpmpopt-$(VERSION) rpmqv.c rpm.c SUBDIRS = intl po @WITH_ZLIB_SUBDIR@ @WITH_ELFUTILS_SUBDIR@ file @WITH_DB_SUBDIR@ popt beecrypt rpmio rpmdb lib build misc @WITH_PYTHON_SUBDIR@ tools scripts tests doc . INCLUDES = \ -I$(top_srcdir)/build \ -I$(top_srcdir)/lib \ -I$(top_srcdir)/rpmdb \ -I$(top_srcdir)/rpmio \ -I$(top_srcdir)/beecrypt \ -I$(top_srcdir)/popt \ @WITH_LIBELF_INCLUDE@ \ @INCPATH@ myLDFLAGS = # @LDFLAGS_STATIC@ # XXX libtool can/should generate dependent libs. # XXX solaris2.6 cannot use *.la with --all-static (downrev binutils/egcs?) # XXX top_builddir ldpaths are wrong building in tree myLDADD = \ $(top_builddir)/build/librpmbuild.la \ $(top_builddir)/lib/librpm.la \ $(top_builddir)/rpmdb/librpmdb.la \ $(top_builddir)/rpmio/librpmio.la \ $(top_builddir)/popt/libpopt.la \ @WITH_LIBELF_LIB@ \ @WITH_ZLIB_LIB@ \ @INTLLIBS@ \ @LIBMISC@ whyLDADD = \ $(top_builddir)/build/.libs/librpmbuild.a \ $(top_builddir)/lib/.libs/librpm.a \ $(top_builddir)/rpmdb/.libs/librpmdb.a \ $(top_builddir)/rpmio/.libs/librpmio.a \ $(top_builddir)/popt/.libs/libpopt.a \ @WITH_LIBELF_LIB@ \ @WITH_ZLIB_LIB@ \ @INTLLIBS@ \ @LIBMISC@ rpmbindir = `echo $(bindir) | sed -e s,usr/bin,bin,` rpmbin_PROGRAMS = rpm bin_PROGRAMS = rpm2cpio bin_SCRIPTS = gendiff pkglibdir = @RPMCONFIGDIR@ pkglib_PROGRAMS = rpmb rpmd rpmi rpmk rpmq pkglib_DATA = rpmrc rpmpopt-$(VERSION) macros pkglib_SCRIPTS = find-provides find-requires mkinstalldirs \ config.guess config.sub config.site rpmpopt-$(VERSION): rpmpopt cp rpmpopt $@ noinst_HEADERS = build.h debug.h system.h rpm_SOURCES = rpm_LDFLAGS = @LDFLAGS_STATIC@ $(myLDFLAGS) rpm_LDADD = rpm.o $(whyLDADD) rpm.o: rpmqv.c $(COMPILE) -DIAM_RPMDB -DIAM_RPMEIU -DIAM_RPMK -DIAM_RPMQV -o $@ -c rpmqv.c #rpm_SOURCES = rpm.c #rpm_LDFLAGS = @LDFLAGS_STATIC@ $(myLDFLAGS) #rpm_LDADD = $(myLDADD) rpmb_SOURCES = build.c rpmb_LDFLAGS = $(myLDFLAGS) rpmb_LDADD = rpmb.o $(myLDADD) rpmb.o: rpmqv.c $(COMPILE) -DIAM_RPMBT -o $@ -c rpmqv.c rpmd_SOURCES = rpmd_LDFLAGS = $(myLDFLAGS) rpmd_LDADD = rpmd.o $(myLDADD) rpmd.o: rpmqv.c $(COMPILE) -DIAM_RPMDB -o $@ -c rpmqv.c rpmi_SOURCES = rpmi_LDFLAGS = $(myLDFLAGS) rpmi_LDADD = rpmi.o $(myLDADD) rpmi.o: rpmqv.c $(COMPILE) -DIAM_RPMEIU -o $@ -c rpmqv.c rpmk_SOURCES = rpmk_LDFLAGS = $(myLDFLAGS) rpmk_LDADD = rpmk.o $(myLDADD) rpmk.o: rpmqv.c $(COMPILE) -DIAM_RPMK -o $@ -c rpmqv.c rpmq_SOURCES = rpmq_LDFLAGS = $(myLDFLAGS) rpmq_LDADD = rpmq.o $(myLDADD) rpmq.o: rpmqv.c $(COMPILE) -DIAM_RPMQV -o $@ -c rpmqv.c rpm2cpio_SOURCES = rpm2cpio.c rpm2cpio_LDFLAGS = $(myLDFLAGS) rpm2cpio_LDADD = $(myLDADD) @LIBMISC@ $(PROGRAMS): $(myLDADD) @WITH_APIDOCS_TARGET@ .PHONY: splint splint: splint \ -load build/rpmbuild.lcd \ -load lib/rpmlib.lcd \ -load rpmdb/rpmdb.lcd \ -load rpmio/rpmio.lcd \ -load popt/popt.lcd \ $(DEFS) $(INCLUDES) rpmqv.c $(rpmb_SOURCES) .PHONY: lint lint: $(LINT) -Dlint $(DEFS) $(INCLUDES) rpmqv.c $(rpmb_SOURCES) \ `make -s sources -C build` \ `make -s sources -C lib` \ `make -s sources -C rpmdb` \ `make -s sources -C rpmio` \ `make -s sources -C beecrypt` \ `make -s sources -C popt` CVSTAG = r$(subst .,-,$(VERSION)) pkgsrcdir = $(prefix)/src/$(RPMCANONVENDOR) install-data-local: @$(mkinstalldirs) $(DESTDIR)$(varprefix)/lib/rpm @rm -f $(DESTDIR)$(libdir)/rpmrc @@LN_S@ rpm/rpmrc $(DESTDIR)$(libdir)/rpmrc @rm -f $(DESTDIR)$(libdir)/rpmpopt @@LN_S@ rpm/rpmpopt $(DESTDIR)$(libdir)/rpmpopt @rm -f $(DESTDIR)$(libdir)/rpm/rpmt @@LN_S@ rpmb $(DESTDIR)$(libdir)/rpm/rpmt @rm -f $(DESTDIR)$(libdir)/rpm/rpme @@LN_S@ rpmi $(DESTDIR)$(libdir)/rpm/rpme @rm -f $(DESTDIR)$(libdir)/rpm/rpmu @@LN_S@ rpmi $(DESTDIR)$(libdir)/rpm/rpmu @rm -f $(DESTDIR)$(libdir)/rpm/rpmv @@LN_S@ rpmq $(DESTDIR)$(libdir)/rpm/rpmv rm -f $(DESTDIR)$(bindir)/rpmbuild @LN_S@ ../lib/rpm/rpmb $(DESTDIR)$(bindir)/rpmbuild rm -f $(DESTDIR)$(bindir)/rpmquery @LN_S@ ../lib/rpm/rpmq $(DESTDIR)$(bindir)/rpmquery rm -f $(DESTDIR)$(bindir)/rpmverify @LN_S@ ../lib/rpm/rpmv $(DESTDIR)$(bindir)/rpmverify rm -f $(DESTDIR)$(bindir)/rpmsign @LN_S@ ../lib/rpm/rpmk $(DESTDIR)$(bindir)/rpmsign rm -f $(DESTDIR)$(bindir)/rpmdb ; \ @LN_S@ ../lib/rpm/rpmd $(DESTDIR)$(bindir)/rpmdb ; \ for bf in e i u ; do \ rm -f $(DESTDIR)$(bindir)/rpm$$bf ; \ @LN_S@ ../lib/rpm/rpm$$bf $(DESTDIR)$(bindir)/rpm$$bf ; \ done @for dir in BUILD RPMS SOURCES SPECS SRPMS ; do\ $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/$$dir;\ done @case "@host_cpu@" in \ *86) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/i386 ;\ $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/i486 ;\ $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/i586 ;\ $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/i686 ;\ $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/athlon ;;\ alpha*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/alpha ;\ $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/alphaev6 ;;\ sparc*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/sparc ;\ $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/sparcv9 ;\ $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/sparc64 ;;\ ia64*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/ia64 ;;\ s390*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/s390 ;;\ mipsel*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/mipsel ;;\ mips*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/mips ;;\ powerpc*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/ppc ;\ $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/ppc64 ;;\ *) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/@host_cpu@ ;;\ esac $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/noarch @case "@host_os@" in \ mint) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/m68kmint ;;\ solaris*|linux*) \ chmod u+x ./installplatform; DESTDIR="$(DESTDIR)" pkglibdir="$(pkglibdir)" ./installplatform rpmrc macros platform ;; \ esac @$(mkinstalldirs) $(DESTDIR)/var/tmp .PHONY: setperms setperms: @for f in $(rpmbin_PROGRAMS) ; do\ $(__CHOWN) ${RPMUSER}.${RPMGROUP} $(DESTDIR)$(rpmbindir)/$$f ;\ $(__CHMOD) g+s $(DESTDIR)$(rpmbindir)/$$f ;\ done @for f in $(bin_PROGRAMS) ; do\ $(__CHOWN) ${RPMUSER}.${RPMGROUP} $(DESTDIR)$(bindir)/$$f ;\ done @for f in $(pkglib_PROGRAMS) ; do\ $(__CHOWN) ${RPMUSER}.${RPMGROUP} $(DESTDIR)$(pkglibdir)/$$f ;\ $(__CHMOD) g+s $(DESTDIR)$(pkglibdir)/$$f ;\ done @for f in $(pkglib_SCRIPTS) ; do\ $(__CHOWN) ${RPMUSER}.${RPMGROUP} $(DESTDIR)$(pkglibdir)/$$f ;\ done @$(__CHOWN) ${RPMUSER}.${RPMGROUP} $(DESTDIR)$(pkglibdir) @$(__CHOWN) -R ${RPMUSER}.${RPMGROUP} $(DESTDIR)$(varprefix)/lib/rpm -@$(__CHMOD) 0664 $(DESTDIR)$(varprefix)/lib/rpm/[A-Z]* -@$(__CHMOD) 0775 $(DESTDIR)$(varprefix)/lib/rpm -@$(__CHMOD) 0664 $(DESTDIR)$(varprefix)/lib/rpm/__db.* .PHONY: unsetgid unsetgid: @for f in $(rpmbin_PROGRAMS) ; do\ $(__CHMOD) g-s $(DESTDIR)$(rpmbindir)/$$f ;\ done @for f in $(pkglib_PROGRAMS) ; do\ $(__CHMOD) g-s $(DESTDIR)$(pkglibdir)/$$f ;\ done .PHONY: tar tar: rm -rf /tmp/rpm-$(VERSION) $(MAKE) DESTDIR=/tmp/rpm-$(VERSION) install cd /tmp/rpm-$(VERSION) ; tar cvf /tmp/rpm-$(VERSION).tar . .PHONY: noconfig noconfig: find . -name "Makefile" -exec rm {} \; rm -f *gz *rpm config.* .PHONY: archive archive: @cvs -d `cat CVS/Root` diff 2>&1 > /dev/null || { \ echo " " ; \ echo "==> Please resolve differences between the repository and" ; \ echo "==> your rpm check out before tagging." ; \ echo " " ; \ cvs -n up ; \ echo " " ; \ exit 1 ; \ } @cvs -d `cat CVS/Root` -Q tag -F $(CVSTAG) . @make dist @echo " " @echo "The final archive is ./rpm-$(VERSION).tar.gz." .PHONY: nextsrpm nextsrpm: all archive @sudo ./rpm -ta rpm-$(VERSION).tar.gz .PHONY: doxygen doxygen @WITH_APIDOCS_TARGET@: Doxyfile rm -rf $@ mkdir -p $@ - [ X"@__DOXYGEN@" != Xno ] && @__DOXYGEN@ ctags: find . -type f -name "*.[ch]*" | xargs @CTAGS@ cscope: @CSCOPE@ -b -R cref: ctags cscope