rpm/Makefile.in

179 lines
5.0 KiB
Makefile

include Makefile.inc
srcdir= @srcdir@
INSTALL= @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
#LIBEFENCE = -lefence
#DEBUG = -g
installprefix=$(ROOT)
#LIBEFENCE = -lefence
RCSVERSION = $(subst .,-,$(VERSION))
################################### Leave this stuff alone
### These are variables meant to be exported
VPATH = $(srcdir)
WARNINGS = -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes
BINDIR=$(prefix)/bin
RPMBINDIR=$(subst usr/bin,bin,$(BINDIR))
MANDIR=$(prefix)/man/man8
LIBDIR=$(libdir)
INCDIR=$(prefix)/include/rpm
ETCDIR=$(ROOT)/etc
NLSDIR=$(prefix)/lib/locale
NLSPACKAGE=rpm
# -----------------------------------------------------------------------
SUBDIRS = misc lib build tools @PO@
OBJS = rpm.o query.o install.o verify.o checksig.o ftp.o url.o @GETTEXTSTUB@
PROGS = @RPMSTATIC@ rpm.shared rpm2cpio
LOADLIBES = -lbuild -lrpm @LIBMISC@ @LIBS@ @ZLIB@ @LIBINTL@ @LIBSOCKET@ @LIBDL@
ifeq (.depend,$(wildcard .depend))
TARGET=everything
else
TARGET=depend everything
endif
all: $(TARGET)
rpm: lib/librpm.a build/libbuild.a $(OBJS)
$(CC) -o rpm -static $(LDFLAGS) $(OBJS) $(LOADLIBES) \
$(LIBEFENCE)
rpm.shared: lib/librpm.a build/libbuild.a $(OBJS)
$(CC) -o rpm.shared $(LDFLAGS) $(OBJS) $(LOADLIBES) \
$(LIBEFENCE)
rpm2cpio: lib/librpm.a rpm2cpio.o
$(CC) -o rpm2cpio $(LDFLAGS) rpm2cpio.o $(LOADLIBES)
rpm.o: rpm.c query.h install.h lib/rpmlib.h Makefile
$(CC) $(CFLAGS) -DNLSPACKAGE=\"$(NLSPACKAGE)\" -DNLSDIR=\"$(NLSDIR)\" \
-c $(srcdir)/rpm.c
# these rules should be in here, but they drive me batty
#Makefile: Makefile.in misc/Makefile.in lib/Makefile.in build/Makefile.in \
#tools/Makefile.in po/Makefile.in config.status
#sh ./config.status
#config.status: configure
#sh ./config.status --recheck
#configure: configure.in
#cd $(srcdir); autoconf
everything: make-subdirs $(PROGS)
make-subdirs:
for d in $(SUBDIRS); do \
(cd $$d; $(MAKE)) \
|| case "$(MFLAGS)" in *k*) fail=yes;; *) exit 1;; esac;\
done && test -z "$$fail"
newtree:
rm -f RCS
ln -sf /usr/rhs/RCS/rpm-2.0 RCS
for d in $(SUBDIRS) docs; do \
mkdir -p $$d ;\
(cd $$d; rm -f RCS; ln -sf /usr/rhs/RCS/rpm-2.0/$$d RCS) \
|| case "$(MFLAGS)" in *k*) fail=yes;; *) exit 1;; esac;\
done && test -z "$$fail"
$(PROGS): $(OBJS)
install: all
$(INSTALL) -m 755 -o 0 -g 0 -d $(installprefix)/$(RPMBINDIR)
$(INSTALL) -m 755 -o 0 -g 0 -d $(installprefix)/$(BINDIR)
$(INSTALL) -m 755 -o 0 -g 0 -d $(installprefix)/$(MANDIR)
$(INSTALL) -m 755 -o 0 -g 0 -d $(installprefix)/$(ETCDIR)
$(INSTALL) -m 755 -o 0 -g 0 -d $(installprefix)/$(LIBDIR)
if [ -f rpm ]; then \
$(INSTALL) -s -m 755 -o 0 -g 0 rpm $(installprefix)/$(RPMBINDIR); \
else \
$(INSTALL) -s -m 755 -o 0 -g 0 rpm.shared $(installprefix)/$(RPMBINDIR)/rpm; \
fi
$(INSTALL) -m 755 -o 0 -g 0 $(srcdir)/gendiff $(installprefix)/$(BINDIR)
$(INSTALL) -m 755 -o 0 -g 0 $(srcdir)/find-provides $(installprefix)/$(BINDIR)
$(INSTALL) -s -m 755 -o 0 -g 0 rpm2cpio $(installprefix)/$(BINDIR)
$(INSTALL) -m 644 -o 0 -g 0 $(srcdir)/rpm.8 $(installprefix)/$(MANDIR)
$(INSTALL) -m 644 -o 0 -g 0 $(srcdir)/rpm2cpio.8 $(installprefix)/$(MANDIR)
if [ ! -f $(installprefix)/$(ETCDIR)/rpmrc ]; then \
$(INSTALL) -m 644 -o 0 -g 0 $(srcdir)/rpmrc $(installprefix)/$(ETCDIR)/rpmrc; \
fi
$(INSTALL) -m 644 -o 0 -g 0 $(srcdir)/lib-rpmrc $(installprefix)/$(LIBDIR)/rpmrc
(cd lib; make LIBDIR=$(installprefix)/$(LIBDIR) INCDIR=$(installprefix)/$(INCDIR) install)
(cd po; make NLSDIR=$(installprefix)/$(NLSDIR) LIBDIR=$(installprefix)/$(LIBDIR) INCDIR=$(installprefix)/$(INCDIR) install)
.PHONY: clean
clean:
for d in $(SUBDIRS); do \
(cd $$d; $(MAKE) $@) ;\
done
rm -f *.a *.o core *~ $(PROGS) rpm.shared
find . -name core -exec rm {} \;
.PHONY: distclean
distclean:
for d in $(SUBDIRS); do \
(cd $$d; $(MAKE) $@) ;\
done
rm -f *.a *.o core *~ $(PROGS) rpm.shared librpmrc
rm -f .depend Makefile Makefile.inc config.h config.cache config.status config.log
.PHONY: depend
depend:
$(CPP) $(CFLAGS) -M $(srcdir)/*.c > .depend
for d in $(SUBDIRS); do \
(cd $$d; $(MAKE) $@) ;\
done
co:
co RCS/*,v
for d in $(SUBDIRS) docs; do \
(cd $$d; co RCS/*,v) ;\
done
noconfig:
find . -name "Makefile" -exec rm {} \;
rm -f *gz *rpm config.*
rcstag:
rcs -q -N$(RCSVERSION): RCS/*,v
for d in $(SUBDIRS) docs; do \
(cd $$d; rcs -q -N$(RCSVERSION): RCS/*,v) ;\
done
archive: rcstag
@echo " "
@echo "I hope you checked everything out and made sure it builds"
@echo "maybe someday Erik will get around to making that automatic."
@sleep 5
@rm -rf /tmp/rpm-$(VERSION)
@mkdir /tmp/rpm-$(VERSION)
@tar cSpf - * | (cd /tmp/rpm-$(VERSION); tar xSpf -)
@cd /tmp/rpm-$(VERSION); \
make distclean; \
rm -f *.tar.gz; \
find . -name "RCS" -exec rm {} \;
@cd /tmp; tar czSpf rpm-$(VERSION).tar.gz rpm-$(VERSION)
@rm -rf /tmp/rpm-$(VERSION)
@cp /tmp/rpm-$(VERSION).tar.gz .
@rm -f /tmp/rpm-$(VERSION).tar.gz
@echo " "
@echo "The final archive is ./rpm-$(VERSION).tar.gz."
ifeq (.depend,$(wildcard .depend))
include .depend
endif