1 # Top level Makefile for rpm
3 AUTOMAKE_OPTIONS = 1.4 foreign
5 EXTRA_DIST = CHANGES CREDITS Doxyheader GROUPS README.amiga INSTALL \
6 RPM-GPG-KEY RPM-PGP-KEY \
7 autodeps/none autodeps/*.prov autodeps/*.req autogen.sh \
8 config.site db db3/configure gendiff installplatform platform* \
9 xmlspec/Makefile xmlspec/*.c xmlspec/*.h \
10 xmlspec/examples/*.sh xmlspec/examples/*.lst \
11 xmlspec/examples/*.xmlspec \
12 po/*.in po/*.po po/rpm.pot \
13 rpm.magic rpmpopt-$(VERSION) rpmqv.c rpm.c
15 SUBDIRS = intl po @WITH_ZLIB_SUBDIR@ libelf @WITH_DB_SUBDIR@ popt beecrypt rpmio rpmdb lib build misc @WITH_PYTHON_SUBDIR@ tools scripts tests doc .
18 -I$(top_srcdir)/build \
20 -I$(top_srcdir)/rpmdb \
21 -I$(top_srcdir)/rpmio \
22 -I$(top_srcdir)/beecrypt \
23 -I$(top_srcdir)/popt \
24 @WITH_LIBELF_INCLUDE@ \
28 myLDFLAGS = # @LDFLAGS_STATIC@
30 # XXX libtool can/should generate dependent libs.
31 # XXX solaris2.6 cannot use *.la with --all-static (downrev binutils/egcs?)
32 # XXX top_builddir ldpaths are wrong building in tree
34 $(top_builddir)/build/librpmbuild.la \
35 $(top_builddir)/lib/librpm.la \
36 $(top_builddir)/rpmdb/librpmdb.la \
37 $(top_builddir)/rpmio/librpmio.la \
38 $(top_builddir)/popt/libpopt.la \
44 rpmbindir = `echo $(bindir) | sed -e s,usr/bin,bin,`
47 bin_PROGRAMS = rpm2cpio
50 pkglibdir = @RPMCONFIGDIR@
51 pkglib_PROGRAMS = rpmb rpmd rpmi rpmk rpmq
52 pkglib_DATA = rpmrc rpmpopt-$(VERSION) macros
53 pkglib_SCRIPTS = find-provides find-requires mkinstalldirs \
54 config.guess config.sub config.site
56 rpmpopt-$(VERSION): rpmpopt
59 noinst_HEADERS = build.h debug.h system.h
62 rpm_LDFLAGS = @LDFLAGS_STATIC@ $(myLDFLAGS)
63 rpm_LDADD = rpm.o $(myLDADD)
65 $(COMPILE) -DIAM_RPMDB -DIAM_RPMEIU -DIAM_RPMK -DIAM_RPMQV -o $@ -c rpmqv.c
68 #rpm_LDFLAGS = @LDFLAGS_STATIC@ $(myLDFLAGS)
69 #rpm_LDADD = $(myLDADD)
71 rpmb_SOURCES = build.c
72 rpmb_LDFLAGS = $(myLDFLAGS)
73 rpmb_LDADD = rpmb.o $(myLDADD)
75 $(COMPILE) -DIAM_RPMBT -o $@ -c rpmqv.c
78 rpmd_LDFLAGS = $(myLDFLAGS)
79 rpmd_LDADD = rpmd.o $(myLDADD)
81 $(COMPILE) -DIAM_RPMDB -o $@ -c rpmqv.c
84 rpmi_LDFLAGS = $(myLDFLAGS)
85 rpmi_LDADD = rpmi.o $(myLDADD)
87 $(COMPILE) -DIAM_RPMEIU -o $@ -c rpmqv.c
90 rpmk_LDFLAGS = $(myLDFLAGS)
91 rpmk_LDADD = rpmk.o $(myLDADD)
93 $(COMPILE) -DIAM_RPMK -o $@ -c rpmqv.c
96 rpmq_LDFLAGS = $(myLDFLAGS)
97 rpmq_LDADD = rpmq.o $(myLDADD)
99 $(COMPILE) -DIAM_RPMQV -o $@ -c rpmqv.c
101 rpm2cpio_SOURCES = rpm2cpio.c
102 rpm2cpio_LDFLAGS = $(myLDFLAGS)
103 rpm2cpio_LDADD = $(myLDADD) @LIBMISC@
105 $(PROGRAMS): $(myLDADD) @WITH_APIDOCS_TARGET@
110 -load build/rpmbuild.lcd \
111 -load lib/rpmlib.lcd \
112 -load rpmdb/rpmdb.lcd \
113 -load rpmio/rpmio.lcd \
114 -load popt/popt.lcd \
115 $(DEFS) $(INCLUDES) rpmqv.c $(rpmb_SOURCES)
119 lclint -Dlint $(DEFS) $(INCLUDES) rpmqv.c $(rpmb_SOURCES) \
120 `make -s sources -C build` \
121 `make -s sources -C lib` \
122 `make -s sources -C rpmdb` \
123 `make -s sources -C rpmio` \
124 `make -s sources -C beecrypt` \
125 `make -s sources -C popt`
127 CVSTAG = r$(subst .,-,$(VERSION))
129 pkgsrcdir = $(prefix)/src/$(RPMCANONVENDOR)
132 @$(mkinstalldirs) $(DESTDIR)$(varprefix)/lib/rpm
133 @rm -f $(DESTDIR)$(libdir)/rpmrc
134 @@LN_S@ rpm/rpmrc $(DESTDIR)$(libdir)/rpmrc
135 @rm -f $(DESTDIR)$(libdir)/rpmpopt
136 @@LN_S@ rpm/rpmpopt $(DESTDIR)$(libdir)/rpmpopt
137 @rm -f $(DESTDIR)$(libdir)/rpm/rpmt
138 @@LN_S@ rpmb $(DESTDIR)$(libdir)/rpm/rpmt
139 @rm -f $(DESTDIR)$(libdir)/rpm/rpme
140 @@LN_S@ rpmi $(DESTDIR)$(libdir)/rpm/rpme
141 @rm -f $(DESTDIR)$(libdir)/rpm/rpmu
142 @@LN_S@ rpmi $(DESTDIR)$(libdir)/rpm/rpmu
143 @rm -f $(DESTDIR)$(libdir)/rpm/rpmv
144 @@LN_S@ rpmq $(DESTDIR)$(libdir)/rpm/rpmv
145 rm -f $(DESTDIR)$(bindir)/rpmbuild
146 @LN_S@ ../lib/rpm/rpmb $(DESTDIR)$(bindir)/rpmbuild
147 rm -f $(DESTDIR)$(bindir)/rpmquery
148 @LN_S@ ../lib/rpm/rpmq $(DESTDIR)$(bindir)/rpmquery
149 rm -f $(DESTDIR)$(bindir)/rpmverify
150 @LN_S@ ../lib/rpm/rpmv $(DESTDIR)$(bindir)/rpmverify
151 rm -f $(DESTDIR)$(bindir)/rpmsign
152 @LN_S@ ../lib/rpm/rpmk $(DESTDIR)$(bindir)/rpmsign
153 rm -f $(DESTDIR)$(bindir)/rpmdb ; \
154 @LN_S@ ../lib/rpm/rpmd $(DESTDIR)$(bindir)/rpmdb ; \
155 for bf in e i u ; do \
156 rm -f $(DESTDIR)$(bindir)/rpm$$bf ; \
157 @LN_S@ ../lib/rpm/rpm$$bf $(DESTDIR)$(bindir)/rpm$$bf ; \
159 @for dir in BUILD RPMS SOURCES SPECS SRPMS ; do\
160 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/$$dir;\
162 @case "@host_cpu@" in \
163 *86) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/i386 ;\
164 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/i486 ;\
165 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/i586 ;\
166 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/i686 ;\
167 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/athlon ;;\
168 alpha*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/alpha ;\
169 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/alphaev6 ;;\
170 sparc*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/sparc ;\
171 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/sparcv9 ;\
172 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/sparc64 ;;\
173 ia64*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/ia64 ;;\
174 s390*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/s390 ;;\
175 mipsel*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/mipsel ;;\
176 mips*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/mips ;;\
177 powerpc*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/ppc ;\
178 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/ppc64 ;;\
179 *) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/@host_cpu@ ;;\
181 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/noarch
182 @case "@host_os@" in \
183 mint) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/m68kmint ;;\
185 chmod u+x ./installplatform; DESTDIR="$(DESTDIR)" pkglibdir="$(pkglibdir)" ./installplatform rpmrc macros platform ;; \
187 @$(mkinstalldirs) $(DESTDIR)/var/tmp
191 @for f in $(rpmbin_PROGRAMS) ; do\
192 $(__CHOWN) ${RPMUSER}.${RPMGROUP} $(DESTDIR)$(rpmbindir)/$$f ;\
193 $(__CHMOD) g+s $(DESTDIR)$(rpmbindir)/$$f ;\
195 @for f in $(bin_PROGRAMS) ; do\
196 $(__CHOWN) ${RPMUSER}.${RPMGROUP} $(DESTDIR)$(bindir)/$$f ;\
198 @for f in $(pkglib_PROGRAMS) ; do\
199 $(__CHOWN) ${RPMUSER}.${RPMGROUP} $(DESTDIR)$(pkglibdir)/$$f ;\
200 $(__CHMOD) g+s $(DESTDIR)$(pkglibdir)/$$f ;\
202 @for f in $(pkglib_SCRIPTS) ; do\
203 $(__CHOWN) ${RPMUSER}.${RPMGROUP} $(DESTDIR)$(pkglibdir)/$$f ;\
205 @$(__CHOWN) ${RPMUSER}.${RPMGROUP} $(DESTDIR)$(pkglibdir)
206 @$(__CHOWN) -R ${RPMUSER}.${RPMGROUP} $(DESTDIR)$(varprefix)/lib/rpm
207 -@$(__CHMOD) 0664 $(DESTDIR)$(varprefix)/lib/rpm/[A-Z]*
208 -@$(__CHMOD) 0775 $(DESTDIR)$(varprefix)/lib/rpm
209 -@$(__CHMOD) 0664 $(DESTDIR)$(varprefix)/lib/rpm/__db.*
213 @for f in $(rpmbin_PROGRAMS) ; do\
214 $(__CHMOD) g-s $(DESTDIR)$(rpmbindir)/$$f ;\
216 @for f in $(pkglib_PROGRAMS) ; do\
217 $(__CHMOD) g-s $(DESTDIR)$(pkglibdir)/$$f ;\
222 rm -rf /tmp/rpm-$(VERSION)
223 $(MAKE) DESTDIR=/tmp/rpm-$(VERSION) install
224 cd /tmp/rpm-$(VERSION) ; tar cvf /tmp/rpm-$(VERSION).tar .
228 find . -name "Makefile" -exec rm {} \;
229 rm -f *gz *rpm config.*
233 @cvs -d `cat CVS/Root` diff 2>&1 > /dev/null || { \
235 echo "==> Please resolve differences between the repository and" ; \
236 echo "==> your rpm check out before tagging." ; \
242 @cvs -d `cat CVS/Root` -Q tag -F $(CVSTAG) .
245 @echo "The final archive is ./rpm-$(VERSION).tar.gz."
248 nextsrpm: all archive
249 @sudo ./rpm -ta rpm-$(VERSION).tar.gz
252 doxygen @WITH_APIDOCS_TARGET@: Doxyfile
255 - [ X"@__DOXYGEN@" != Xno ] && @__DOXYGEN@
258 find . -type f -name "*.[ch]*" | xargs @CTAGS@