Initial NTLM message parsing library
[idra/gss-ntlmssp.git] / Makefile.am
1 SUBDIRS =
2 #SUBDIRS += po
3
4 if HAVE_MANPAGES
5 SUBDIRS += man
6 endif
7
8 # Some old versions of automake don't define builddir
9 builddir ?= .
10
11 DOXYGEN = @DOXYGEN@
12
13 DISTSETUPOPTS =
14 if HAVE_DEBIAN
15 DISTSETUPOPTS += --install-layout=deb
16 endif
17
18 gssconfdir = $(sysconfdir)/gss
19 gssntlmsspdir = $(libdir)/gssntlmssp
20 localedir = @localedir@
21
22 pkgconfigdir = $(libdir)/pkgconfig
23
24 AM_CFLAGS =
25 if WANT_AUX_INFO
26     AM_CFLAGS += -aux-info $@.X
27 endif
28 if HAVE_GCC
29     AM_CFLAGS += -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith \
30                  -Wcast-qual -Wcast-align -Wwrite-strings \
31                  -Werror-implicit-function-declaration \
32                  -fno-strict-aliasing
33 endif
34
35 dist_pkgconfig_DATA =
36
37 ACLOCAL_AMFLAGS = -I m4 -I .
38
39 check_PROGRAMS = \
40     ntlmssptest
41
42 gssntlmssp_LTLIBRARIES = \
43     gssntlmssp.la
44
45 dist_noinst_SCRIPTS = tests/scripts/dlopen.sh
46
47 dist_noinst_DATA =
48
49 ###############################
50 # Global compilation settings #
51 ###############################
52
53 AM_CPPFLAGS = \
54     -Wall \
55     -Iinclude \
56     -I.. \
57     -I$(srcdir)/include \
58     -I$(srcdir) \
59     -Iinclude \
60     -I. \
61     -DLIBDIR=\"$(libdir)\" \
62     -DVARDIR=\"$(localstatedir)\" \
63     -DSHLIBEXT=\"$(SHLIBEXT)\" \
64     -DSYSCONFDIR=\"$(sysconfdir)\" \
65     -DLOCALEDIR=\"$(localedir)\"
66
67 EXTRA_DIST = build/config.rpath
68
69 GSS_NTLM_LIBS = $(GSSAPI_LIBS)
70
71 GN_MECHGLUE_OBJ = \
72     src/ntlm.c \
73     src/gss_ntlmssp.c
74
75 dist_noinst_HEADERS = \
76     src/ntlm.h \
77     src/gss_ntlmssp.h
78
79 ####################
80 # Program Binaries #
81 ####################
82
83 gssntlmssp_la_SOURCES = \
84     $(GN_MECHGLUE_OBJ)
85 gssntlmssp_la_CFLAGS = \
86     $(AM_FLAGS)
87 gssntlmssp_la_LDFLAGS = \
88     -avoid-version \
89     -module
90
91 ntlmssptest_SOURCES = \
92     tests/ntlmssptest.c
93
94 dist_noinst_DATA += \
95     m4
96
97 noinst_PROGRAMS = ntlmssptest
98
99 ################
100 # TRANSLATIONS #
101 ################
102 update-po:
103 if HAVE_MANPAGES
104         $(MAKE) -C man update-po
105 endif
106 #       $(MAKE) -C po update-po
107
108 #######################
109 # Installation Extras #
110 #######################
111
112 installgssntlmsspdirs::
113         mkdir -p \
114     $(DESTDIR)$(libdir)/gssntlmssp \
115     $(DESTDIR)$(mandir)
116
117 if HAVE_DOXYGEN
118 docs:
119         $(DOXYGEN) doxy.config
120 else
121 docs:
122         @echo "Doxygen not installed, cannot generate documentation"
123         @exit 1
124 endif
125
126 install-exec-hook: installgssntlmsspdirs
127         mkdir -p doc $(DESTDIR)/$(docdir); cp -a doc $(DESTDIR)/$(docdir)/
128
129 clean-local:
130         rm -Rf doc
131
132 CLEANFILES = *.X */*.X */*/*.X
133
134 tests: all $(check_PROGRAMS)
135
136 # RPM-related tasks
137
138 RPMBUILD ?= $(PWD)/rpmbuild
139
140 dist_noinst_DATA += \
141     m4 \
142     contrib/gssntlmssp.spec.in \
143     BUILD.txt \
144     COPYING
145
146 rpmroot:
147         mkdir -p $(RPMBUILD)/BUILD
148         mkdir -p $(RPMBUILD)/RPMS
149         mkdir -p $(RPMBUILD)/SOURCES
150         mkdir -p $(RPMBUILD)/SPECS
151         mkdir -p $(RPMBUILD)/SRPMS
152
153 rpms: dist-gzip rpmroot
154         cp $(builddir)/contrib/gssntlmssp.spec $(RPMBUILD)/SPECS
155         cp $(distdir).tar.gz $(RPMBUILD)/SOURCES
156         cd $(RPMBUILD); \
157         rpmbuild --define "_topdir $(RPMBUILD)" -ba SPECS/gssntlmssp.spec
158
159 if GIT_CHECKOUT
160 prerelease-rpms:
161         cp $(srcdir)/version.m4 $(srcdir)/version.m4.orig
162         sed -e "s/m4_define(\[PRERELEASE_VERSION_NUMBER\], \[.*\])/m4_define(\[PRERELEASE_VERSION_NUMBER\], \[.`date +%Y%m%d.%H%M`.git`git log -1 --pretty=format:%h`\])/" < $(srcdir)/version.m4.orig > $(srcdir)/version.m4
163         $(MAKE) rpms
164         mv $(srcdir)/version.m4.orig $(srcdir)/version.m4
165 endif
166
167 # make srpms will use the old digest algorithm to be compatible
168 # with RHEL5
169 srpm: dist-gzip rpmroot
170         cp $(builddir)/contrib/gssntlmssp.spec $(RPMBUILD)/SPECS
171         cp $(distdir).tar.gz $(RPMBUILD)/SOURCES
172         cd $(RPMBUILD); \
173         rpmbuild --define "_topdir $(RPMBUILD)" \
174                  --define _source_filedigest_algorithm=1 \
175                  -bs SPECS/gssntlmssp.spec
176
177 if GIT_CHECKOUT
178 prerelease-srpm:
179         cp $(srcdir)/version.m4 $(srcdir)/version.m4.orig
180         sed -e "s/m4_define(\[PRERELEASE_VERSION_NUMBER\], \[.*\])/m4_define(\[PRERELEASE_VERSION_NUMBER\], \[.`date +%Y%m%d.%H%M`.git`git log -1 --pretty=format:%h`\])/" < $(srcdir)/version.m4.orig > $(srcdir)/version.m4
181         $(MAKE) srpm
182         mv $(srcdir)/version.m4.orig $(srcdir)/version.m4
183 endif
184
185 ####################
186 # Testing          #
187 ####################
188
189 test_gssntlmssp:
190         TMPDIR=tests/scripts/ ./tests/scripts/dlopen.sh ./.libs/gssntlmssp.so || exit 1