summaryrefslogtreecommitdiff
path: root/lib/Makefile.am
blob: f8a67349e5f35d17bf894849c39554d1a2834adc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# Makefile for rpm library.

AUTOMAKE_OPTIONS = 1.4 foreign

INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/build -I$(top_srcdir)/popt @INCPATH@

EXTRA_DIST = falloc.c db0.c db1.c db2.c db3.c

pkgincdir = $(pkgincludedir)
pkginc_HEADERS = \
	header.h misc.h rpmio.h rpmlib.h rpmmacro.h rpmurl.h stringbuf.h
noinst_HEADERS = \
	cpio.h depends.h falloc.h fprint.h hash.h install.h \
	md5.h oldheader.h oldrpmdb.h rpm_malloc.h \
	rpmdb.h rpmlead.h signature.h

mylibpaths= -L$(top_builddir)/lib -L$(top_builddir)/popt
mylibs=	-lrpm -lpopt @INTLLIBS@ @LIBMISC@

lib_LTLIBRARIES = librpm.la
librpm_la_SOURCES = \
	cpio.c $(DBLIBOBJS) depends.c \
	formats.c fprint.c fs.c hash.c header.c install.c \
	macro.c md5.c md5sum.c \
	messages.c misc.c oldheader.c package.c problems.c query.c \
	rebuilddb.c rpmchecksig.c rpmdb.c rpmerr.c rpminstall.c \
	rpmio.c rpmlead.c rpmmalloc.c rpmrc.c signature.c stringbuf.c stubs.c \
	tagName.c tagtable.c transaction.c uninstall.c url.c verify.c
librpm_la_LIBADD = $(subst .c,.lo,$(DBLIBOBJS))
#librpm_la_LIBADD = -lpopt

falloc.lo: falloc.c $(top_srcdir)/system.h rpmio.h falloc.h
	$(LIBTOOL) --mode=compile $(COMPILE) -c $<

db3.lo: db3.c $(top_srcdir)/system.h rpmlib.h rpmdb.h
	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
	for F in $*.o $*.lo ; do \
	    @__LD@ -r -o $${F}.o $${F} -L/usr/lib -ldb-3.0 ; \
	    @__OBJCOPY@ `\
		@__NM@ -g --defined-only $${F}.o | \
		sed -e '/ [DRTW] /!d' -e 's/.* [DRTW] /-L /' | \
		grep -v '^-L $*'` $${F}.o $${F} ; \
	    rm -f $${F}.o ; \
	done

db2.lo: db2.c $(top_srcdir)/system.h rpmlib.h rpmdb.h
	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
	for F in $*.o $*.lo ; do \
	    @__LD@ -r -o $${F}.o $${F} -L/usr/lib -ldb ; \
	    @__OBJCOPY@ `\
		@__NM@ -g --defined-only $${F}.o | \
		sed -e '/ [DRTW] /!d' -e 's/.* [DRTW] /-L /' | \
		grep -v '^-L $*'` $${F}.o $${F} ; \
	    rm -f $${F}.o ; \
	done

db1.lo: db1.c falloc.lo $(top_srcdir)/system.h rpmlib.h rpmdb.h
	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
	for F in $*.o $*.lo ; do \
	    @__LD@ -r -o $${F}.o $${F} falloc.lo -L/usr/lib -ldb ; \
	    @__OBJCOPY@ `\
		@__NM@ -g --defined-only $${F}.o | \
		sed -e '/ [DRTW] /!d' -e 's/.* [DRTW] /-L /' | \
		grep -v '^-L $*' | grep -v '^-L fadio'` $${F}.o $${F} ; \
	    rm -f $${F}.o ; \
	done

db0.lo: db0.c falloc.lo $(top_srcdir)/system.h rpmlib.h rpmdb.h
	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
	for F in $*.o $*.lo ; do \
	    @__LD@ -r -o $${F}.o $${F} falloc.lo -L/usr/lib -ldb1 ; \
	    @__OBJCOPY@ `\
		@__NM@ -g --defined-only $${F}.o | \
		sed -e '/ [DRTW] /!d' -e 's/.* [DRTW] /-L /' | \
		grep -v '^-L $*' | grep -v '^-L fadio'` $${F}.o $${F} ; \
	    rm -f $${F}.o ; \
	done

tagtable.c: rpmlib.h 
	@echo '#include "system.h"' > tagtable.c
	@echo '#include "rpmlib.h"' >> tagtable.c
	@echo '' >> tagtable.c
	@echo 'const struct headerTagTableEntry rpmTagTable[] = {' >> tagtable.c
	@awk '/(RPMTAG_[A-Z0-9]*)[ \t]+([0-9]*)/ && !/internal/ { printf("\t{ \"%s\", %s },\n", $$2, $$3); }' < $(srcdir)/rpmlib.h >> tagtable.c
	@echo '	{ NULL, 0 }' >> tagtable.c
	@echo '};' >> tagtable.c
	@echo '' >> tagtable.c
	@echo 'const int rpmTagTableSize = sizeof(rpmTagTable) / sizeof(struct headerTagTableEntry) - 1;' >> tagtable.c

BUILT_SOURCES = tagtable.c

.PHONY:	lclint
.PHONY:	lclint
lclint:
	lclint $(DEFS) $(INCLUDES) $(librpm_la_SOURCES)

tmacro: macro.c
	$(CC) $(CFLAGS) $(DEFS) -DDEBUG_MACROS $(INCLUDES) -o $@ $<

rpmeval: macro.c
	$(CC) $(CFLAGS) $(DEFS) -DDEBUG_MACROS -DEVAL_MACROS $(INCLUDES) -o $@ $<

tufdio: tufdio.c
	$(CC) $(CFLAGS) $(DEFS) $(INCLUDES) -o $@ $< $(mylibpaths) $(mylibs) $(LIBS)