1 # Top level Makefile for rpm
3 AUTOMAKE_OPTIONS = 1.4 foreign
7 EXTRA_DIST = CHANGES CREDITS Doxyheader GROUPS README.amiga INSTALL \
8 RPM-GPG-KEY RPM-PGP-KEY \
9 autodeps/none autodeps/*.prov autodeps/*.req autogen.sh \
10 config.site db db3/configure gendiff installplatform platform* \
11 xmlspec/Makefile xmlspec/*.c xmlspec/*.h \
12 xmlspec/examples/*.sh xmlspec/examples/*.lst \
13 xmlspec/examples/*.xmlspec \
14 po/*.in po/*.po po/rpm.pot \
15 rpm.magic rpmpopt-$(VERSION) rpmqv.c rpm.c
17 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 .
20 -I$(top_srcdir)/build \
22 -I$(top_srcdir)/rpmdb \
23 -I$(top_srcdir)/rpmio \
24 -I$(top_srcdir)/beecrypt \
25 -I$(top_srcdir)/popt \
26 @WITH_LIBELF_INCLUDE@ \
29 myLDFLAGS = # @LDFLAGS_STATIC@
31 # XXX libtool can/should generate dependent libs.
32 # XXX solaris2.6 cannot use *.la with --all-static (downrev binutils/egcs?)
33 # XXX top_builddir ldpaths are wrong building in tree
35 $(top_builddir)/build/librpmbuild.la \
36 $(top_builddir)/lib/librpm.la \
37 $(top_builddir)/rpmdb/librpmdb.la \
38 $(top_builddir)/rpmio/librpmio.la \
39 $(top_builddir)/popt/libpopt.la \
46 $(top_builddir)/build/.libs/librpmbuild.a \
47 $(top_builddir)/lib/.libs/librpm.a \
48 $(top_builddir)/rpmdb/.libs/librpmdb.a \
49 $(top_builddir)/rpmio/.libs/librpmio.a \
50 $(top_builddir)/popt/.libs/libpopt.a \
56 rpmbindir = `echo $(bindir) | sed -e s,usr/bin,bin,`
59 bin_PROGRAMS = rpm2cpio
62 pkglibdir = @RPMCONFIGDIR@
63 pkglib_PROGRAMS = rpmb rpmd rpmi rpmk rpmq
64 pkglib_DATA = rpmrc rpmpopt-$(VERSION) macros
65 pkglib_SCRIPTS = find-provides find-requires mkinstalldirs \
66 config.guess config.sub config.site
68 rpmpopt-$(VERSION): rpmpopt
71 noinst_HEADERS = build.h debug.h system.h
74 rpm_LDFLAGS = @LDFLAGS_STATIC@ $(myLDFLAGS)
75 rpm_LDADD = rpm.o $(whyLDADD)
77 $(COMPILE) -DIAM_RPMDB -DIAM_RPMEIU -DIAM_RPMK -DIAM_RPMQV -o $@ -c rpmqv.c
80 #rpm_LDFLAGS = @LDFLAGS_STATIC@ $(myLDFLAGS)
81 #rpm_LDADD = $(myLDADD)
83 rpmb_SOURCES = build.c
84 rpmb_LDFLAGS = $(myLDFLAGS)
85 rpmb_LDADD = rpmb.o $(myLDADD)
87 $(COMPILE) -DIAM_RPMBT -o $@ -c rpmqv.c
90 rpmd_LDFLAGS = $(myLDFLAGS)
91 rpmd_LDADD = rpmd.o $(myLDADD)
93 $(COMPILE) -DIAM_RPMDB -o $@ -c rpmqv.c
96 rpmi_LDFLAGS = $(myLDFLAGS)
97 rpmi_LDADD = rpmi.o $(myLDADD)
99 $(COMPILE) -DIAM_RPMEIU -o $@ -c rpmqv.c
102 rpmk_LDFLAGS = $(myLDFLAGS)
103 rpmk_LDADD = rpmk.o $(myLDADD)
105 $(COMPILE) -DIAM_RPMK -o $@ -c rpmqv.c
108 rpmq_LDFLAGS = $(myLDFLAGS)
109 rpmq_LDADD = rpmq.o $(myLDADD)
111 $(COMPILE) -DIAM_RPMQV -o $@ -c rpmqv.c
113 rpm2cpio_SOURCES = rpm2cpio.c
114 rpm2cpio_LDFLAGS = $(myLDFLAGS)
115 rpm2cpio_LDADD = $(myLDADD) @LIBMISC@
117 $(PROGRAMS): $(myLDADD) @WITH_APIDOCS_TARGET@
122 -load build/rpmbuild.lcd \
123 -load lib/rpmlib.lcd \
124 -load rpmdb/rpmdb.lcd \
125 -load rpmio/rpmio.lcd \
126 -load popt/popt.lcd \
127 $(DEFS) $(INCLUDES) rpmqv.c $(rpmb_SOURCES)
131 $(LINT) -Dlint $(DEFS) $(INCLUDES) rpmqv.c $(rpmb_SOURCES) \
132 `make -s sources -C build` \
133 `make -s sources -C lib` \
134 `make -s sources -C rpmdb` \
135 `make -s sources -C rpmio` \
136 `make -s sources -C beecrypt` \
137 `make -s sources -C popt`
139 CVSTAG = r$(subst .,-,$(VERSION))
141 pkgsrcdir = $(prefix)/src/$(RPMCANONVENDOR)
144 @$(mkinstalldirs) $(DESTDIR)$(varprefix)/lib/rpm
145 @rm -f $(DESTDIR)$(libdir)/rpmrc
146 @@LN_S@ rpm/rpmrc $(DESTDIR)$(libdir)/rpmrc
147 @rm -f $(DESTDIR)$(libdir)/rpmpopt
148 @@LN_S@ rpm/rpmpopt $(DESTDIR)$(libdir)/rpmpopt
149 @rm -f $(DESTDIR)$(libdir)/rpm/rpmt
150 @@LN_S@ rpmb $(DESTDIR)$(libdir)/rpm/rpmt
151 @rm -f $(DESTDIR)$(libdir)/rpm/rpme
152 @@LN_S@ rpmi $(DESTDIR)$(libdir)/rpm/rpme
153 @rm -f $(DESTDIR)$(libdir)/rpm/rpmu
154 @@LN_S@ rpmi $(DESTDIR)$(libdir)/rpm/rpmu
155 @rm -f $(DESTDIR)$(libdir)/rpm/rpmv
156 @@LN_S@ rpmq $(DESTDIR)$(libdir)/rpm/rpmv
157 rm -f $(DESTDIR)$(bindir)/rpmbuild
158 @LN_S@ ../lib/rpm/rpmb $(DESTDIR)$(bindir)/rpmbuild
159 rm -f $(DESTDIR)$(bindir)/rpmquery
160 @LN_S@ ../lib/rpm/rpmq $(DESTDIR)$(bindir)/rpmquery
161 rm -f $(DESTDIR)$(bindir)/rpmverify
162 @LN_S@ ../lib/rpm/rpmv $(DESTDIR)$(bindir)/rpmverify
163 rm -f $(DESTDIR)$(bindir)/rpmsign
164 @LN_S@ ../lib/rpm/rpmk $(DESTDIR)$(bindir)/rpmsign
165 rm -f $(DESTDIR)$(bindir)/rpmdb ; \
166 @LN_S@ ../lib/rpm/rpmd $(DESTDIR)$(bindir)/rpmdb ; \
167 for bf in e i u ; do \
168 rm -f $(DESTDIR)$(bindir)/rpm$$bf ; \
169 @LN_S@ ../lib/rpm/rpm$$bf $(DESTDIR)$(bindir)/rpm$$bf ; \
171 @for dir in BUILD RPMS SOURCES SPECS SRPMS ; do\
172 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/$$dir;\
174 @case "@host_cpu@" in \
175 *86) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/i386 ;\
176 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/i486 ;\
177 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/i586 ;\
178 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/i686 ;\
179 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/athlon ;;\
180 alpha*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/alpha ;\
181 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/alphaev6 ;;\
182 sparc*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/sparc ;\
183 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/sparcv9 ;\
184 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/sparc64 ;;\
185 ia64*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/ia64 ;;\
186 s390*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/s390 ;;\
187 mipsel*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/mipsel ;;\
188 mips*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/mips ;;\
189 powerpc*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/ppc ;\
190 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/ppc64 ;;\
191 *) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/@host_cpu@ ;;\
193 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/noarch
194 @case "@host_os@" in \
195 mint) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/m68kmint ;;\
197 chmod u+x ./installplatform; DESTDIR="$(DESTDIR)" pkglibdir="$(pkglibdir)" ./installplatform rpmrc macros platform ;; \
199 @$(mkinstalldirs) $(DESTDIR)/var/tmp
203 @for f in $(rpmbin_PROGRAMS) ; do\
204 $(__CHOWN) ${RPMUSER}.${RPMGROUP} $(DESTDIR)$(rpmbindir)/$$f ;\
205 $(__CHMOD) g+s $(DESTDIR)$(rpmbindir)/$$f ;\
207 @for f in $(bin_PROGRAMS) ; do\
208 $(__CHOWN) ${RPMUSER}.${RPMGROUP} $(DESTDIR)$(bindir)/$$f ;\
210 @for f in $(pkglib_PROGRAMS) ; do\
211 $(__CHOWN) ${RPMUSER}.${RPMGROUP} $(DESTDIR)$(pkglibdir)/$$f ;\
212 $(__CHMOD) g+s $(DESTDIR)$(pkglibdir)/$$f ;\
214 @for f in $(pkglib_SCRIPTS) ; do\
215 $(__CHOWN) ${RPMUSER}.${RPMGROUP} $(DESTDIR)$(pkglibdir)/$$f ;\
217 @$(__CHOWN) ${RPMUSER}.${RPMGROUP} $(DESTDIR)$(pkglibdir)
218 @$(__CHOWN) -R ${RPMUSER}.${RPMGROUP} $(DESTDIR)$(varprefix)/lib/rpm
219 -@$(__CHMOD) 0664 $(DESTDIR)$(varprefix)/lib/rpm/[A-Z]*
220 -@$(__CHMOD) 0775 $(DESTDIR)$(varprefix)/lib/rpm
221 -@$(__CHMOD) 0664 $(DESTDIR)$(varprefix)/lib/rpm/__db.*
225 @for f in $(rpmbin_PROGRAMS) ; do\
226 $(__CHMOD) g-s $(DESTDIR)$(rpmbindir)/$$f ;\
228 @for f in $(pkglib_PROGRAMS) ; do\
229 $(__CHMOD) g-s $(DESTDIR)$(pkglibdir)/$$f ;\
234 rm -rf /tmp/rpm-$(VERSION)
235 $(MAKE) DESTDIR=/tmp/rpm-$(VERSION) install
236 cd /tmp/rpm-$(VERSION) ; tar cvf /tmp/rpm-$(VERSION).tar .
240 find . -name "Makefile" -exec rm {} \;
241 rm -f *gz *rpm config.*
245 @cvs -d `cat CVS/Root` diff 2>&1 > /dev/null || { \
247 echo "==> Please resolve differences between the repository and" ; \
248 echo "==> your rpm check out before tagging." ; \
254 @cvs -d `cat CVS/Root` -Q tag -F $(CVSTAG) .
257 @echo "The final archive is ./rpm-$(VERSION).tar.gz."
260 nextsrpm: all archive
261 @sudo ./rpm -ta rpm-$(VERSION).tar.gz
264 doxygen @WITH_APIDOCS_TARGET@: Doxyfile
267 - [ X"@__DOXYGEN@" != Xno ] && @__DOXYGEN@
270 find . -type f -name "*.[ch]*" | xargs @CTAGS@