- drop rpmio/base64.[ch] in favor of beecrypt.
[tools/librpm-tizen.git] / Makefile.am
1 # Top level Makefile for rpm
2
3 AUTOMAKE_OPTIONS = 1.4 foreign
4
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         Perl-RPM po/*.in po/*.po po/rpm.pot \
10         rpm.magic rpmpopt-$(VERSION) rpmqv.c rpm.c
11
12 SUBDIRS = intl po @WITH_DB_SUBDIR@ popt beecrypt rpmio rpmdb lib build misc @WITH_PYTHON_SUBDIR@ tools scripts tests doc .
13
14 INCLUDES = \
15         -I$(top_srcdir)/build \
16         -I$(top_srcdir)/lib \
17         -I$(top_srcdir)/rpmdb \
18         -I$(top_srcdir)/rpmio \
19         -I$(top_srcdir)/popt \
20         @INCPATH@
21
22 LIBS = -lrt -lpthread
23
24 myLDFLAGS = # @LDFLAGS_STATIC@
25
26 # XXX libtool can/should generate dependent libs.
27 # XXX solaris2.6 cannot use *.la with --all-static (downrev binutils/egcs?)
28 # XXX top_builddir ldpaths are wrong building in tree
29 myLDADD = \
30         $(top_builddir)/build/librpmbuild.la \
31         $(top_builddir)/lib/librpm.la \
32         $(top_builddir)/rpmdb/librpmdb.la \
33         $(top_builddir)/rpmio/librpmio.la \
34         $(top_builddir)/popt/libpopt.la \
35         @INTLLIBS@ @LIBMISC@
36
37 rpmbindir = `echo $(bindir) | sed -e s,usr/bin,bin,`
38 rpmbin_PROGRAMS = rpm
39
40 bin_PROGRAMS =          rpm2cpio
41 bin_SCRIPTS =           gendiff
42
43 pkglibdir =             @RPMCONFIGDIR@
44 pkglib_PROGRAMS =       rpmb rpmd rpmi rpmk rpmq
45 pkglib_DATA =           rpmrc rpmpopt-$(VERSION) macros
46 pkglib_SCRIPTS =        find-provides find-requires mkinstalldirs \
47                         config.guess config.sub config.site
48
49 rpmpopt-$(VERSION): rpmpopt
50         cp rpmpopt $@
51
52 noinst_HEADERS = \
53         acconfig.h      build.h         debug.h         system.h
54
55 rpm_SOURCES =
56 rpm_LDFLAGS =           @LDFLAGS_STATIC@ $(myLDFLAGS)
57 rpm_LDADD =             rpm.o $(myLDADD)
58 rpm.o:  rpmqv.c
59         $(COMPILE) -DIAM_RPMDB -DIAM_RPMEIU -DIAM_RPMK -DIAM_RPMQV -o $@ -c rpmqv.c
60
61 #rpm_SOURCES =          rpm.c
62 #rpm_LDFLAGS =          @LDFLAGS_STATIC@ $(myLDFLAGS)
63 #rpm_LDADD =            $(myLDADD)
64
65 rpmb_SOURCES =          build.c
66 rpmb_LDFLAGS =          $(myLDFLAGS)
67 rpmb_LDADD =            rpmb.o $(myLDADD)
68 rpmb.o: rpmqv.c
69         $(COMPILE) -DIAM_RPMBT -o $@ -c rpmqv.c
70
71 rpmd_SOURCES =
72 rpmd_LDFLAGS =          $(myLDFLAGS)
73 rpmd_LDADD =            rpmd.o $(myLDADD)
74 rpmd.o: rpmqv.c
75         $(COMPILE) -DIAM_RPMDB -o $@ -c rpmqv.c
76
77 rpmi_SOURCES =
78 rpmi_LDFLAGS =          $(myLDFLAGS)
79 rpmi_LDADD =            rpmi.o $(myLDADD)
80 rpmi.o: rpmqv.c
81         $(COMPILE) -DIAM_RPMEIU -o $@ -c rpmqv.c
82
83 rpmk_SOURCES =
84 rpmk_LDFLAGS =          $(myLDFLAGS)
85 rpmk_LDADD =            rpmk.o $(myLDADD)
86 rpmk.o: rpmqv.c
87         $(COMPILE) -DIAM_RPMK -o $@ -c rpmqv.c
88
89 rpmq_SOURCES =
90 rpmq_LDFLAGS =          $(myLDFLAGS)
91 rpmq_LDADD =            rpmq.o $(myLDADD)
92 rpmq.o: rpmqv.c
93         $(COMPILE) -DIAM_RPMQV -o $@ -c rpmqv.c
94
95 rpm2cpio_SOURCES =      rpm2cpio.c
96 rpm2cpio_LDFLAGS =      $(myLDFLAGS)
97 rpm2cpio_LDADD =        $(myLDADD) @LIBMISC@
98
99 $(PROGRAMS):            $(myLDADD) @WITH_APIDOCS_TARGET@
100
101 .PHONY: lclint
102 lclint:
103         lclint $(DEFS) $(INCLUDES) rpmqv.c $(rpmb_SOURCES) \
104                 `make -s sources -C build` \
105                 `make -s sources -C lib` \
106                 `make -s sources -C rpmdb` \
107                 `make -s sources -C rpmio` \
108                 `make -s sources -C beecrypt` \
109                 `make -s sources -C popt`
110
111 CVSTAG = r$(subst .,-,$(VERSION))
112
113 pkgsrcdir = $(prefix)/src/$(RPMCANONVENDOR)
114
115 install-data-local:
116         @$(mkinstalldirs) $(DESTDIR)$(varprefix)/lib/rpm
117         @rm -f $(DESTDIR)$(libdir)/rpmrc
118         @@LN_S@ rpm/rpmrc $(DESTDIR)$(libdir)/rpmrc
119         @rm -f $(DESTDIR)$(libdir)/rpmpopt
120         @@LN_S@ rpm/rpmpopt $(DESTDIR)$(libdir)/rpmpopt
121         @rm -f $(DESTDIR)$(libdir)/rpm/rpmt
122         @@LN_S@ rpmb $(DESTDIR)$(libdir)/rpm/rpmt
123         @rm -f $(DESTDIR)$(libdir)/rpm/rpme
124         @@LN_S@ rpmi $(DESTDIR)$(libdir)/rpm/rpme
125         @rm -f $(DESTDIR)$(libdir)/rpm/rpmu
126         @@LN_S@ rpmi $(DESTDIR)$(libdir)/rpm/rpmu
127         @rm -f $(DESTDIR)$(libdir)/rpm/rpmv
128         @@LN_S@ rpmq $(DESTDIR)$(libdir)/rpm/rpmv
129         rm -f $(DESTDIR)$(bindir)/rpmbuild
130         @LN_S@ ../lib/rpm/rpmb $(DESTDIR)$(bindir)/rpmbuild
131         rm -f $(DESTDIR)$(bindir)/rpmquery
132         @LN_S@ ../lib/rpm/rpmq $(DESTDIR)$(bindir)/rpmquery
133         rm -f $(DESTDIR)$(bindir)/rpmverify
134         @LN_S@ ../lib/rpm/rpmv $(DESTDIR)$(bindir)/rpmverify
135         rm -f $(DESTDIR)$(bindir)/rpmsign
136         @LN_S@ ../lib/rpm/rpmk $(DESTDIR)$(bindir)/rpmsign
137         rm -f $(DESTDIR)$(bindir)/rpmdb ; \
138         @LN_S@ ../lib/rpm/rpmd $(DESTDIR)$(bindir)/rpmdb ; \
139         for bf in e i u ; do \
140             rm -f $(DESTDIR)$(bindir)/rpm$$bf ; \
141             @LN_S@ ../lib/rpm/rpm$$bf $(DESTDIR)$(bindir)/rpm$$bf ; \
142         done
143         @for dir in BUILD RPMS SOURCES SPECS SRPMS ; do\
144             $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/$$dir;\
145         done
146         @case "@host_cpu@" in \
147         *86)    $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/i386 ;\
148                 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/i486 ;\
149                 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/i586 ;\
150                 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/i686 ;\
151                 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/athlon ;;\
152         alpha*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/alpha ;\
153                 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/alphaev6 ;;\
154         sparc*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/sparc ;\
155                 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/sparcv9 ;\
156                 $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/sparc64 ;;\
157         ia64*)  $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/ia64 ;;\
158         s390*)  $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/s390 ;;\
159         mipsel*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/mipsel ;;\
160         mips*)  $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/mips ;;\
161         powerpc*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/ppc ;;\
162         *)      $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/@host_cpu@ ;;\
163         esac
164         $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/noarch
165         @case "@host_os@" in \
166         mint) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/m68kmint ;;\
167         solaris*|linux*) \
168            chmod u+x ./installplatform; DESTDIR="$(DESTDIR)" pkglibdir="$(pkglibdir)" ./installplatform rpmrc macros platform ;; \
169         esac
170         @$(mkinstalldirs) $(DESTDIR)/var/tmp
171
172 .PHONY: setperms
173 setperms:
174         @for f in $(rpmbin_PROGRAMS) ; do\
175             $(__CHOWN) ${RPMUSER}.${RPMGROUP} $(DESTDIR)$(rpmbindir)/$$f ;\
176             $(__CHMOD) g+s $(DESTDIR)$(rpmbindir)/$$f ;\
177         done
178         @for f in $(bin_PROGRAMS) ; do\
179             $(__CHOWN) ${RPMUSER}.${RPMGROUP} $(DESTDIR)$(bindir)/$$f ;\
180         done
181         @for f in $(pkglib_PROGRAMS) ; do\
182             $(__CHOWN) ${RPMUSER}.${RPMGROUP} $(DESTDIR)$(pkglibdir)/$$f ;\
183             $(__CHMOD) g+s $(DESTDIR)$(pkglibdir)/$$f ;\
184         done
185         @for f in $(pkglib_SCRIPTS) ; do\
186             $(__CHOWN) ${RPMUSER}.${RPMGROUP} $(DESTDIR)$(pkglibdir)/$$f ;\
187         done
188         @$(__CHOWN) ${RPMUSER}.${RPMGROUP} $(DESTDIR)$(pkglibdir)
189         @$(__CHOWN) -R ${RPMUSER}.${RPMGROUP} $(DESTDIR)$(varprefix)/lib/rpm
190         -@$(__CHMOD) 0664 $(DESTDIR)$(varprefix)/lib/rpm/[A-Z]*
191         -@$(__CHMOD) 0775 $(DESTDIR)$(varprefix)/lib/rpm
192         -@$(__CHMOD) 0664 $(DESTDIR)$(varprefix)/lib/rpm/__db.*
193
194 .PHONY: unsetgid
195 unsetgid:
196         @for f in $(rpmbin_PROGRAMS) ; do\
197             $(__CHMOD) g-s $(DESTDIR)$(rpmbindir)/$$f ;\
198         done
199         @for f in $(pkglib_PROGRAMS) ; do\
200             $(__CHMOD) g-s $(DESTDIR)$(pkglibdir)/$$f ;\
201         done
202
203 .PHONY: tar
204 tar:
205         rm -rf /tmp/rpm-$(VERSION)
206         $(MAKE) DESTDIR=/tmp/rpm-$(VERSION) install
207         cd /tmp/rpm-$(VERSION) ; tar cvf /tmp/rpm-$(VERSION).tar .
208
209 .PHONY: noconfig
210 noconfig:
211         find . -name "Makefile" -exec rm {} \; 
212         rm -f *gz *rpm config.*
213
214 .PHONY: archive
215 archive: 
216         @cvs -d `cat CVS/Root` diff 2>&1 > /dev/null || { \
217             echo " " ; \
218             echo "==> Please resolve differences between the repository and" ; \
219             echo "==> your rpm check out before tagging." ; \
220             echo " " ; \
221             cvs -n up ; \
222             echo " " ; \
223             exit 1 ; \
224         }
225         @cvs -d `cat CVS/Root` -Q tag -F $(CVSTAG) .
226         @make dist
227         @echo " "
228         @echo "The final archive is ./rpm-$(VERSION).tar.gz."
229
230 .PHONY: nextsrpm
231 nextsrpm: all archive
232         @sudo ./rpm -ta rpm-$(VERSION).tar.gz
233
234 .PHONY: doxygen
235 doxygen @WITH_APIDOCS_TARGET@: Doxyfile
236         rm -rf $@
237         mkdir -p $@
238         - [ X"@__DOXYGEN@" != Xno ] && @__DOXYGEN@
239
240 ctags:
241         find . -type f -name "*.[ch]*" | xargs @CTAGS@
242
243 cscope:
244         @CSCOPE@ -b -R
245
246 cref: ctags cscope