- link rpm2cpio dynamically since cpio is linked dynamically.
[platform/upstream/rpm.git] / Makefile.am
1 # Top level Makefile for rpm
2
3 AUTOMAKE_OPTIONS = 1.4 foreign
4
5 EXTRA_DIST = CHANGES CREDITS GROUPS README.amiga INSTALL \
6         RPM-GPG-KEY RPM-PGP-KEY \
7         autodeps/none autodeps/*.prov autodeps/*.req autogen.sh \
8         gendiff installplatform platform* \
9         po/*.in po/*.po po/rpm.pot \
10         python/*.am python/*.in python/*.c python/*.h python/testit \
11         rpm.magic rpmpopt-$(VERSION) rpmqv.c rpm.spec
12
13 # XXX TODO: python perl
14 SUBDIRS = intl po popt rpmio lib build misc tools scripts tests doc .
15
16 INCLUDES = -I$(top_srcdir)/build -I$(top_srcdir)/lib -I$(top_srcdir)/rpmio \
17         -I$(top_srcdir)/popt @INCPATH@
18
19 LIBS =
20
21 myLDFLAGS = # -L$(top_builddir)/build/.libs -L$(top_builddir)/lib/.libs \
22         -L$(top_builddir)/rpmio/.libs -L$(top_builddir)/popt/.libs
23
24 # XXX libtool can/should generate dependent libs.
25 # XXX solaris2.6 cannot use *.la with --all-static (downrev binutils/egcs?)
26 # XXX top_builddir ldpaths are wrong building in tree
27 myLDADD = $(top_builddir)/build/librpmbuild.la $(top_builddir)/lib/librpm.la \
28         $(top_builddir)/rpmio/librpmio.la $(top_builddir)/popt/libpopt.la \
29         @INTLLIBS@
30
31 rpmbindir = `echo $(bindir) | sed -e s,usr/bin,bin,`
32 rpmbin_PROGRAMS = rpm
33
34 bin_PROGRAMS =          rpm2cpio
35 bin_SCRIPTS =           gendiff
36
37 pkglibdir =             @RPMCONFIGDIR@
38 pkglib_PROGRAMS =       rpmb rpmdb rpmi rpmk rpmq
39 pkglib_DATA =           rpmrc rpmpopt-$(VERSION) macros
40 pkglib_SCRIPTS =        find-provides find-requires mkinstalldirs \
41                         config.guess config.sub
42
43 rpmpopt-$(VERSION): rpmpopt
44         cp $< $@
45
46 noinst_HEADERS = \
47         acconfig.h      build.h         system.h
48
49 rpm_SOURCES =           rpm.c
50 rpm_LDFLAGS =           @LDFLAGS_STATIC@ $(myLDFLAGS)
51 rpm_LDADD =             $(myLDADD) @LIBMISC@
52
53 rpmb_SOURCES =          build.c
54 rpmb_LDFLAGS =          $(myLDFLAGS)
55 rpmb_LDADD =            rpmb.o $(myLDADD)
56 rpmb.o: rpmqv.c
57         $(COMPILE) -DIAM_RPMBT -o $@ -c $<
58
59 rpmdb_SOURCES =
60 rpmdb_LDFLAGS =         $(myLDFLAGS)
61 rpmdb_LDADD =           rpmdb.o $(myLDADD)
62 rpmdb.o:        rpmqv.c
63         $(COMPILE) -DIAM_RPMDB -o $@ -c $<
64
65 rpmi_SOURCES =
66 rpmi_LDFLAGS =          $(myLDFLAGS)
67 rpmi_LDADD =            rpmi.o $(myLDADD)
68 rpmi.o: rpmqv.c
69         $(COMPILE) -DIAM_RPMEIU -o $@ -c $<
70
71 rpmk_SOURCES =
72 rpmk_LDFLAGS =          $(myLDFLAGS)
73 rpmk_LDADD =            rpmk.o $(myLDADD)
74 rpmk.o: rpmqv.c
75         $(COMPILE) -DIAM_RPMK -o $@ -c $<
76
77 rpmq_SOURCES =
78 rpmq_LDFLAGS =          $(myLDFLAGS)
79 rpmq_LDADD =            rpmq.o $(myLDADD)
80 rpmq.o: rpmqv.c
81         $(COMPILE) -DIAM_RPMQV -o $@ -c $<
82
83 rpm2cpio_SOURCES =      rpm2cpio.c
84 rpm2cpio_LDFLAGS =      $(myLDFLAGS)
85 rpm2cpio_LDADD =        $(myLDADD) @LIBMISC@
86
87 $(PROGRAMS):            $(myLDADD)
88
89 .PHONY: lclint
90 lclint:
91         lclint $(DEFS) $(INCLUDES) $(rpm_SOURCES) $(rpmb_SOURCES) rpmqv.c
92
93 CVSTAG = r$(subst .,-,$(VERSION))
94
95 install-data-local:
96         @$(mkinstalldirs) $(DESTDIR)$(varprefix)/lib/rpm
97         @rm -f $(DESTDIR)/$(libdir)/rpmrc
98         @@LN_S@ rpm/rpmrc $(DESTDIR)/$(libdir)/rpmrc
99         @rm -f $(DESTDIR)/$(libdir)/rpmpopt
100         @@LN_S@ rpm/rpmpopt $(DESTDIR)/$(libdir)/rpmpopt
101         @rm -f $(DESTDIR)/$(libdir)/rpm/rpmt
102         @@LN_S@ rpmb $(DESTDIR)/$(libdir)/rpm/rpmt
103         @rm -f $(DESTDIR)/$(libdir)/rpm/rpme
104         @@LN_S@ rpmi $(DESTDIR)/$(libdir)/rpm/rpme
105         @rm -f $(DESTDIR)/$(libdir)/rpm/rpmu
106         @@LN_S@ rpmi $(DESTDIR)/$(libdir)/rpm/rpmu
107         @rm -f $(DESTDIR)/$(libdir)/rpm/rpmv
108         @@LN_S@ rpmq $(DESTDIR)/$(libdir)/rpm/rpmv
109         rm -f $(DESTDIR)/$(bindir)/rpmbuild
110         @LN_S@ ../lib/rpm/rpmb $(DESTDIR)/$(bindir)/rpmbuild
111         rm -f $(DESTDIR)/$(bindir)/rpmquery
112         @LN_S@ ../lib/rpm/rpmq $(DESTDIR)/$(bindir)/rpmquery
113         rm -f $(DESTDIR)/$(bindir)/rpmverify
114         @LN_S@ ../lib/rpm/rpmv $(DESTDIR)/$(bindir)/rpmverify
115         rm -f $(DESTDIR)/$(bindir)/rpmsign
116         @LN_S@ ../lib/rpm/rpmk $(DESTDIR)/$(bindir)/rpmsign
117         for bf in db e i u ; do \
118             rm -f $(DESTDIR)/$(bindir)/rpm$$bf ; \
119             @LN_S@ ../lib/rpm/rpm$$bf $(DESTDIR)/$(bindir)/rpm$$bf ; \
120         done
121         @$(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/BUILD
122         @case "@build_cpu@" in \
123         *86)    $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/i386;\
124                 $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/i486;\
125                 $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/i586;\
126                 $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/i686;\
127                 $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/athlon ;;\
128         alpha*) $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/alpha ;;\
129         sparc*) $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/sparc;\
130                 $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/sparcv9;\
131                 $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/sparc64 ;;\
132         powerpc*) $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/ppc ;;\
133         esac
134         @case "@build_os@" in \
135         mint) $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/m68kmint ;;\
136         solaris*|linux*) \
137            chmod u+x ./installplatform; DESTDIR="$(DESTDIR)" pkglibdir="$(pkglibdir)" ./installplatform rpmrc macros platform ; \
138            $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/@build_cpu@ ;;\
139         *) $(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/@build_cpu@ ;;\
140         esac
141         @$(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/RPMS/noarch
142         @$(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/SOURCES
143         @$(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/SPECS
144         @$(mkinstalldirs) $(DESTDIR)/$(prefix)/src/redhat/SRPMS
145         @$(mkinstalldirs) $(DESTDIR)/var/tmp
146
147 .PHONY: tar
148 tar:
149         rm -rf /tmp/rpm-$(VERSION)
150         $(MAKE) DESTDIR=/tmp/rpm-$(VERSION) install
151         cd /tmp/rpm-$(VERSION) ; tar cvf /tmp/rpm-$(VERSION).tar .
152
153 .PHONY: noconfig
154 noconfig:
155         find . -name "Makefile" -exec rm {} \; 
156         rm -f *gz *rpm config.*
157
158 .PHONY: archive
159 archive: 
160         @cvs -d `cat CVS/Root` diff 2>&1 > /dev/null || { \
161             echo " " ; \
162             echo "==> Please resolve differences between the repository and" ; \
163             echo "==> your rpm check out before tagging." ; \
164             echo " " ; \
165             cvs -n up ; \
166             echo " " ; \
167             exit 1 ; \
168         }
169         @cvs -d `cat CVS/Root` -Q tag -F $(CVSTAG) .
170         @make dist
171         @echo " "
172         @echo "The final archive is ./rpm-$(VERSION).tar.gz."
173
174 .PHONY: nextsrpm
175 nextsrpm: all archive
176         @sudo ./rpm -ta rpm-$(VERSION).tar.gz
177
178 .PHONY: doxygen
179 doxygen: Doxyfile
180         rm -rf doxygen
181         mkdir -p doxygen
182         doxygen