summaryrefslogtreecommitdiffstats
path: root/ini/Makefile.am
blob: ac71422f3ef483e8490037c83d3cf69de6a4a2ac (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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#DEBUG_FLAGS=@DEBUG_VAR@
TRACE_LEVEL=@TRACE_VAR@

COLLECTION_CFLAGS=@COLLECTION_CFLAGS@
COLLECTION_LIBS=@COLLECTION_LIBS@

PATH_UTILS_CFLAGS=@PATH_UTILS_CFLAGS@
PATH_UTILS_LIBS=@PATH_UTILS_LIBS@

REFARRAY_CFLAGS=@REFARRAY_CFLAGS@
REFARRAY_LIBS=@REFARRAY_LIBS@

builddir ?= .

topdir=$(srcdir)/..
topbuilddir=$(builddir)/..

AM_CFLAGS =
if HAVE_GCC
    AM_CFLAGS += \
        -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual \
        -Wcast-align -Wwrite-strings
endif

AM_CPPFLAGS = \
    $(COLLECTION_CFLAGS) \
    $(PATH_UTILS_CFLAGS) \
    $(REFARRAY_CFLAGS) \
    $(TRACE_LEVEL)

ACLOCAL_AMFLAGS = -I m4

# Set up the pkg-config file
pkgconfigdir = $(libdir)/pkgconfig
dist_pkgconfig_DATA = ini_config.pc

dist_noinst_DATA = \
    ini.conf \
    ini.d/real.conf \
    ini.d/test.conf \
    m4 \
    contrib/libini_config.spec.in

dist_include_HEADERS = \
    ini_config.h

# Build library
lib_LTLIBRARIES = libini_config.la
libini_config_la_SOURCES = \
    ini_config.c \
    ini_config.h \
    ini_get_value.c \
    ini_get_array.c \
    ini_list.c \
    ini_print.c \
    ini_parse.c \
    ini_parse.h \
    ini_metadata.c \
    ini_metadata.h \
    ini_defines.h \
    ini_comment.c \
    ini_comment.h \
    trace.h


libini_config_la_LIBADD = \
    $(COLLECTION_LIBS) \
    $(PATH_UTILS_LIBS) \
    $(REFARRAY_LIBS)
libini_config_la_LDFLAGS = \
    -version-info 2:0:0

# Build unit test
check_PROGRAMS = ini_config_ut ini_comment_ut
ini_config_ut_SOURCES = ini_config_ut.c
ini_config_ut_LDADD = \
    libini_config.la \
    $(LIBCOLLECTION_LIBS)
ini_comment_ut_SOURCES = ini_comment_ut.c
ini_comment_ut_LDADD = libini_config.la

if HAVE_DOXYGEN
docs:
# A temp way of building docs until we hook into the package build
	rm -fR doc
	mkdir -p doc
	$(DOXYGEN) ini_config.cfg.doxy
else
docs:
	@echo "Doxygen not installed, cannot generate documentation"
	@exit 1
endif

TESTS = ini_config_ut ini_comment_ut

tests: all $(check_PROGRAMS)

clean-local:
	rm -Rf doc

builddir ?= .
RPMBUILD ?= $(PWD)/rpmbuild

rpmroot:
	mkdir -p $(RPMBUILD)/BUILD
	mkdir -p $(RPMBUILD)/RPMS
	mkdir -p $(RPMBUILD)/SOURCES
	mkdir -p $(RPMBUILD)/SPECS
	mkdir -p $(RPMBUILD)/SRPMS

rpms: dist-gzip rpmroot
	cp $(builddir)/contrib/libini_config.spec $(RPMBUILD)/SPECS
	cp $(distdir).tar.gz $(RPMBUILD)/SOURCES
	cd $(RPMBUILD); \
	rpmbuild --define "_topdir $(RPMBUILD)" -ba SPECS/libini_config.spec

# make srpms will use the old digest algorithm to be compatible
# with RHEL5
srpm: dist-gzip rpmroot
	cp $(builddir)/contrib/libini_config.spec $(RPMBUILD)/SPECS
	cp $(distdir).tar.gz $(RPMBUILD)/SOURCES
	cd $(RPMBUILD); \
	rpmbuild --define "_topdir $(RPMBUILD)" \
	         --define _source_filedigest_algorithm=1 \
	         -bs SPECS/libini_config.spec