1479 lines
48 KiB
Makefile
1479 lines
48 KiB
Makefile
# Makefile.in generated by automake 1.16.2 from Makefile.am.
|
|
# @configure_input@
|
|
|
|
# Copyright (C) 1994-2020 Free Software Foundation, Inc.
|
|
|
|
# This Makefile.in is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
# with or without modifications, as long as this notice is preserved.
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
# PARTICULAR PURPOSE.
|
|
|
|
@SET_MAKE@
|
|
|
|
|
|
VPATH = @srcdir@
|
|
am__is_gnu_make = { \
|
|
if test -z '$(MAKELEVEL)'; then \
|
|
false; \
|
|
elif test -n '$(MAKE_HOST)'; then \
|
|
true; \
|
|
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
|
true; \
|
|
else \
|
|
false; \
|
|
fi; \
|
|
}
|
|
am__make_running_with_option = \
|
|
case $${target_option-} in \
|
|
?) ;; \
|
|
*) echo "am__make_running_with_option: internal error: invalid" \
|
|
"target option '$${target_option-}' specified" >&2; \
|
|
exit 1;; \
|
|
esac; \
|
|
has_opt=no; \
|
|
sane_makeflags=$$MAKEFLAGS; \
|
|
if $(am__is_gnu_make); then \
|
|
sane_makeflags=$$MFLAGS; \
|
|
else \
|
|
case $$MAKEFLAGS in \
|
|
*\\[\ \ ]*) \
|
|
bs=\\; \
|
|
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
|
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
|
esac; \
|
|
fi; \
|
|
skip_next=no; \
|
|
strip_trailopt () \
|
|
{ \
|
|
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
|
}; \
|
|
for flg in $$sane_makeflags; do \
|
|
test $$skip_next = yes && { skip_next=no; continue; }; \
|
|
case $$flg in \
|
|
*=*|--*) continue;; \
|
|
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
|
-*I?*) strip_trailopt 'I';; \
|
|
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
|
-*O?*) strip_trailopt 'O';; \
|
|
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
|
-*l?*) strip_trailopt 'l';; \
|
|
-[dEDm]) skip_next=yes;; \
|
|
-[JT]) skip_next=yes;; \
|
|
esac; \
|
|
case $$flg in \
|
|
*$$target_option*) has_opt=yes; break;; \
|
|
esac; \
|
|
done; \
|
|
test $$has_opt = yes
|
|
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
|
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
|
pkgdatadir = $(datadir)/@PACKAGE@
|
|
pkgincludedir = $(includedir)/@PACKAGE@
|
|
pkglibdir = $(libdir)/@PACKAGE@
|
|
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
|
install_sh_DATA = $(install_sh) -c -m 644
|
|
install_sh_PROGRAM = $(install_sh) -c
|
|
install_sh_SCRIPT = $(install_sh) -c
|
|
INSTALL_HEADER = $(INSTALL_DATA)
|
|
transform = $(program_transform_name)
|
|
NORMAL_INSTALL = :
|
|
PRE_INSTALL = :
|
|
POST_INSTALL = :
|
|
NORMAL_UNINSTALL = :
|
|
PRE_UNINSTALL = :
|
|
POST_UNINSTALL = :
|
|
build_triplet = @build@
|
|
host_triplet = @host@
|
|
subdir = .
|
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
|
am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
|
|
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
|
|
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
|
|
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
|
|
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
|
|
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
|
|
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
|
|
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/VERSION.m4 \
|
|
$(top_srcdir)/server.m4 $(top_srcdir)/configure.ac
|
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
|
$(ACLOCAL_M4)
|
|
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
|
|
$(am__configure_deps) $(dist_noinst_SCRIPTS) \
|
|
$(dist_noinst_DATA) $(am__DIST_COMMON)
|
|
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
|
configure.lineno config.status.lineno
|
|
mkinstalldirs = $(install_sh) -d
|
|
CONFIG_HEADER = config.h
|
|
CONFIG_CLEAN_FILES =
|
|
CONFIG_CLEAN_VPATH_FILES =
|
|
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
|
am__vpath_adj = case $$p in \
|
|
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
|
*) f=$$p;; \
|
|
esac;
|
|
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
|
am__install_max = 40
|
|
am__nobase_strip_setup = \
|
|
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
|
am__nobase_strip = \
|
|
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
|
am__nobase_list = $(am__nobase_strip_setup); \
|
|
for p in $$list; do echo "$$p $$p"; done | \
|
|
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
|
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
|
if (++n[$$2] == $(am__install_max)) \
|
|
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
|
END { for (dir in files) print dir, files[dir] }'
|
|
am__base_list = \
|
|
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
|
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
|
am__uninstall_files_from_dir = { \
|
|
test -z "$$files" \
|
|
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
|
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
|
$(am__cd) "$$dir" && rm -f $$files; }; \
|
|
}
|
|
am__installdirs = "$(DESTDIR)$(bindir)"
|
|
SCRIPTS = $(dist_noinst_SCRIPTS) $(nodist_bin_SCRIPTS) \
|
|
$(nodist_noinst_SCRIPTS)
|
|
AM_V_P = $(am__v_P_@AM_V@)
|
|
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
|
am__v_P_0 = false
|
|
am__v_P_1 = :
|
|
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
|
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
|
am__v_GEN_0 = @echo " GEN " $@;
|
|
am__v_GEN_1 =
|
|
AM_V_at = $(am__v_at_@AM_V@)
|
|
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
|
am__v_at_0 = @
|
|
am__v_at_1 =
|
|
SOURCES =
|
|
DIST_SOURCES =
|
|
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
|
|
ctags-recursive dvi-recursive html-recursive info-recursive \
|
|
install-data-recursive install-dvi-recursive \
|
|
install-exec-recursive install-html-recursive \
|
|
install-info-recursive install-pdf-recursive \
|
|
install-ps-recursive install-recursive installcheck-recursive \
|
|
installdirs-recursive pdf-recursive ps-recursive \
|
|
tags-recursive uninstall-recursive
|
|
am__can_run_installinfo = \
|
|
case $$AM_UPDATE_INFO_DIR in \
|
|
n|no|NO) false;; \
|
|
*) (install-info --version) >/dev/null 2>&1;; \
|
|
esac
|
|
DATA = $(dist_noinst_DATA)
|
|
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
|
distclean-recursive maintainer-clean-recursive
|
|
am__recursive_targets = \
|
|
$(RECURSIVE_TARGETS) \
|
|
$(RECURSIVE_CLEAN_TARGETS) \
|
|
$(am__extra_recursive_targets)
|
|
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
|
cscope distdir distdir-am dist dist-all distcheck
|
|
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \
|
|
config.h.in
|
|
# Read a list of newline-separated strings from the standard input,
|
|
# and print each of them once, without duplicates. Input order is
|
|
# *not* preserved.
|
|
am__uniquify_input = $(AWK) '\
|
|
BEGIN { nonempty = 0; } \
|
|
{ items[$$0] = 1; nonempty = 1; } \
|
|
END { if (nonempty) { for (i in items) print i; }; } \
|
|
'
|
|
# Make sure the list of sources is unique. This is necessary because,
|
|
# e.g., the same source file might be shared among _SOURCES variables
|
|
# for different programs/libraries.
|
|
am__define_uniq_tagged_files = \
|
|
list='$(am__tagged_files)'; \
|
|
unique=`for i in $$list; do \
|
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
|
done | $(am__uniquify_input)`
|
|
ETAGS = etags
|
|
CTAGS = ctags
|
|
CSCOPE = cscope
|
|
DIST_SUBDIRS = asn1 util client contrib po pypi selinux ipaclient \
|
|
ipalib ipaplatform ipapython ipatests ipaserver daemons init \
|
|
install
|
|
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
|
|
$(top_srcdir)/Makefile.pythonscripts.am ABOUT-NLS COPYING \
|
|
compile config.guess config.rpath config.sub install-sh \
|
|
ltmain.sh missing
|
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
|
distdir = $(PACKAGE)-$(VERSION)
|
|
top_distdir = $(distdir)
|
|
am__remove_distdir = \
|
|
if test -d "$(distdir)"; then \
|
|
find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
|
|
&& rm -rf "$(distdir)" \
|
|
|| { sleep 5 && rm -rf "$(distdir)"; }; \
|
|
else :; fi
|
|
am__post_remove_distdir = $(am__remove_distdir)
|
|
am__relativize = \
|
|
dir0=`pwd`; \
|
|
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
|
|
sed_rest='s,^[^/]*/*,,'; \
|
|
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
|
|
sed_butlast='s,/*[^/]*$$,,'; \
|
|
while test -n "$$dir1"; do \
|
|
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
|
|
if test "$$first" != "."; then \
|
|
if test "$$first" = ".."; then \
|
|
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
|
|
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
|
|
else \
|
|
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
|
|
if test "$$first2" = "$$first"; then \
|
|
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
|
|
else \
|
|
dir2="../$$dir2"; \
|
|
fi; \
|
|
dir0="$$dir0"/"$$first"; \
|
|
fi; \
|
|
fi; \
|
|
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
|
|
done; \
|
|
reldir="$$dir2"
|
|
DIST_ARCHIVES = $(distdir).tar.gz
|
|
GZIP_ENV = --best
|
|
DIST_TARGETS = dist-gzip
|
|
distuninstallcheck_listfiles = find . -type f -print
|
|
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
|
|
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
|
|
distcleancheck_listfiles = find . -type f -print
|
|
ACLOCAL = @ACLOCAL@
|
|
AMTAR = @AMTAR@
|
|
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
|
API_VERSION = @API_VERSION@
|
|
AR = @AR@
|
|
AUTOCONF = @AUTOCONF@
|
|
AUTOHEADER = @AUTOHEADER@
|
|
AUTOMAKE = @AUTOMAKE@
|
|
AWK = @AWK@
|
|
CC = @CC@
|
|
CCDEPMODE = @CCDEPMODE@
|
|
CFLAGS = @CFLAGS@
|
|
CMOCKA_CFLAGS = @CMOCKA_CFLAGS@
|
|
CMOCKA_LIBS = @CMOCKA_LIBS@
|
|
CONFIG_STATUS = @CONFIG_STATUS@
|
|
CPP = @CPP@
|
|
CPPFLAGS = @CPPFLAGS@
|
|
CRYPTO_CFLAGS = @CRYPTO_CFLAGS@
|
|
CRYPTO_LIBS = @CRYPTO_LIBS@
|
|
CYGPATH_W = @CYGPATH_W@
|
|
DATA_VERSION = @DATA_VERSION@
|
|
DEFS = @DEFS@
|
|
DEPDIR = @DEPDIR@
|
|
DIRSRV_CFLAGS = @DIRSRV_CFLAGS@
|
|
DIRSRV_LIBS = @DIRSRV_LIBS@
|
|
DLLTOOL = @DLLTOOL@
|
|
DSYMUTIL = @DSYMUTIL@
|
|
DUMPBIN = @DUMPBIN@
|
|
ECHO_C = @ECHO_C@
|
|
ECHO_N = @ECHO_N@
|
|
ECHO_T = @ECHO_T@
|
|
EGREP = @EGREP@
|
|
EXEEXT = @EXEEXT@
|
|
FGREP = @FGREP@
|
|
GETTEXT_DOMAIN = @GETTEXT_DOMAIN@
|
|
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
|
|
GIT_BRANCH = @GIT_BRANCH@
|
|
GIT_VERSION = @GIT_VERSION@
|
|
GMSGFMT = @GMSGFMT@
|
|
GMSGFMT_015 = @GMSGFMT_015@
|
|
GREP = @GREP@
|
|
INI_CFLAGS = @INI_CFLAGS@
|
|
INI_LIBS = @INI_LIBS@
|
|
INSTALL = @INSTALL@
|
|
INSTALL_DATA = @INSTALL_DATA@
|
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
|
INTLLIBS = @INTLLIBS@
|
|
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
|
|
IPAPLATFORM = @IPAPLATFORM@
|
|
IPA_DATA_DIR = @IPA_DATA_DIR@
|
|
IPA_SYSCONF_DIR = @IPA_SYSCONF_DIR@
|
|
JSLINT = @JSLINT@
|
|
KRAD_LIBS = @KRAD_LIBS@
|
|
KRB5KDC_SERVICE = @KRB5KDC_SERVICE@
|
|
KRB5_CFLAGS = @KRB5_CFLAGS@
|
|
KRB5_GSSAPI_CFLAGS = @KRB5_GSSAPI_CFLAGS@
|
|
KRB5_GSSAPI_LIBS = @KRB5_GSSAPI_LIBS@
|
|
KRB5_LIBS = @KRB5_LIBS@
|
|
LD = @LD@
|
|
LDAP_CFLAGS = @LDAP_CFLAGS@
|
|
LDAP_LIBS = @LDAP_LIBS@
|
|
LDFLAGS = @LDFLAGS@
|
|
LIBICONV = @LIBICONV@
|
|
LIBINTL = @LIBINTL@
|
|
LIBINTL_LIBS = @LIBINTL_LIBS@
|
|
LIBOBJS = @LIBOBJS@
|
|
LIBPDB_NAME = @LIBPDB_NAME@
|
|
LIBS = @LIBS@
|
|
LIBTOOL = @LIBTOOL@
|
|
LIBVERTO_CFLAGS = @LIBVERTO_CFLAGS@
|
|
LIBVERTO_LIBS = @LIBVERTO_LIBS@
|
|
LIPO = @LIPO@
|
|
LN_S = @LN_S@
|
|
LTLIBICONV = @LTLIBICONV@
|
|
LTLIBINTL = @LTLIBINTL@
|
|
LTLIBOBJS = @LTLIBOBJS@
|
|
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
|
MAKEINFO = @MAKEINFO@
|
|
MANIFEST_TOOL = @MANIFEST_TOOL@
|
|
MKDIR_P = @MKDIR_P@
|
|
MK_ASSIGN = @MK_ASSIGN@
|
|
MK_ELSE = @MK_ELSE@
|
|
MK_ENDIF = @MK_ENDIF@
|
|
MK_IFEQ = @MK_IFEQ@
|
|
MSGATTRIB = @MSGATTRIB@
|
|
MSGFMT = @MSGFMT@
|
|
MSGFMT_015 = @MSGFMT_015@
|
|
MSGMERGE = @MSGMERGE@
|
|
NAMED_GROUP = @NAMED_GROUP@
|
|
NDRNBT_CFLAGS = @NDRNBT_CFLAGS@
|
|
NDRNBT_LIBS = @NDRNBT_LIBS@
|
|
NDRPAC_CFLAGS = @NDRPAC_CFLAGS@
|
|
NDRPAC_LIBS = @NDRPAC_LIBS@
|
|
NDR_CFLAGS = @NDR_CFLAGS@
|
|
NDR_LIBS = @NDR_LIBS@
|
|
NM = @NM@
|
|
NMEDIT = @NMEDIT@
|
|
NSPR_CFLAGS = @NSPR_CFLAGS@
|
|
NSPR_LIBS = @NSPR_LIBS@
|
|
NUM_VERSION = @NUM_VERSION@
|
|
OBJDUMP = @OBJDUMP@
|
|
OBJEXT = @OBJEXT@
|
|
ODS_GROUP = @ODS_GROUP@
|
|
ODS_USER = @ODS_USER@
|
|
OTOOL = @OTOOL@
|
|
OTOOL64 = @OTOOL64@
|
|
PACKAGE = @PACKAGE@
|
|
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
|
PACKAGE_NAME = @PACKAGE_NAME@
|
|
PACKAGE_STRING = @PACKAGE_STRING@
|
|
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
|
PACKAGE_URL = @PACKAGE_URL@
|
|
PACKAGE_VERSION = @PACKAGE_VERSION@
|
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
|
PKG_CONFIG = @PKG_CONFIG@
|
|
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
|
|
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
|
|
PLATFORM_PYTHON = @PLATFORM_PYTHON@
|
|
POPT_CFLAGS = @POPT_CFLAGS@
|
|
POPT_LIBS = @POPT_LIBS@
|
|
POSUB = @POSUB@
|
|
PYLINT = @PYLINT@
|
|
PYTHON = @PYTHON@
|
|
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
|
|
PYTHON_INSTALL_EXTRA_OPTIONS = @PYTHON_INSTALL_EXTRA_OPTIONS@
|
|
PYTHON_PLATFORM = @PYTHON_PLATFORM@
|
|
PYTHON_PREFIX = @PYTHON_PREFIX@
|
|
PYTHON_VERSION = @PYTHON_VERSION@
|
|
RANLIB = @RANLIB@
|
|
SAMBA40EXTRA_LIBPATH = @SAMBA40EXTRA_LIBPATH@
|
|
SAMBAUTIL_CFLAGS = @SAMBAUTIL_CFLAGS@
|
|
SAMBAUTIL_LIBS = @SAMBAUTIL_LIBS@
|
|
SASL_CFLAGS = @SASL_CFLAGS@
|
|
SASL_LIBS = @SASL_LIBS@
|
|
SED = @SED@
|
|
SET_MAKE = @SET_MAKE@
|
|
SHELL = @SHELL@
|
|
SSSCERTMAP_CFLAGS = @SSSCERTMAP_CFLAGS@
|
|
SSSCERTMAP_LIBS = @SSSCERTMAP_LIBS@
|
|
SSSIDMAP_CFLAGS = @SSSIDMAP_CFLAGS@
|
|
SSSIDMAP_LIBS = @SSSIDMAP_LIBS@
|
|
SSSNSSIDMAP_CFLAGS = @SSSNSSIDMAP_CFLAGS@
|
|
SSSNSSIDMAP_LIBS = @SSSNSSIDMAP_LIBS@
|
|
STRIP = @STRIP@
|
|
TALLOC_CFLAGS = @TALLOC_CFLAGS@
|
|
TALLOC_LIBS = @TALLOC_LIBS@
|
|
TEVENT_CFLAGS = @TEVENT_CFLAGS@
|
|
TEVENT_LIBS = @TEVENT_LIBS@
|
|
UNISTRING_LIBS = @UNISTRING_LIBS@
|
|
UNLINK = @UNLINK@
|
|
USE_NLS = @USE_NLS@
|
|
UUID_CFLAGS = @UUID_CFLAGS@
|
|
UUID_LIBS = @UUID_LIBS@
|
|
VENDOR_SUFFIX = @VENDOR_SUFFIX@
|
|
VERSION = @VERSION@
|
|
XGETTEXT = @XGETTEXT@
|
|
XGETTEXT_015 = @XGETTEXT_015@
|
|
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
|
|
XMLRPC_CFLAGS = @XMLRPC_CFLAGS@
|
|
XMLRPC_LIBS = @XMLRPC_LIBS@
|
|
abs_builddir = @abs_builddir@
|
|
abs_srcdir = @abs_srcdir@
|
|
abs_top_builddir = @abs_top_builddir@
|
|
abs_top_srcdir = @abs_top_srcdir@
|
|
ac_ct_AR = @ac_ct_AR@
|
|
ac_ct_CC = @ac_ct_CC@
|
|
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
|
am__include = @am__include@
|
|
am__leading_dot = @am__leading_dot@
|
|
am__quote = @am__quote@
|
|
am__tar = @am__tar@
|
|
am__untar = @am__untar@
|
|
bindir = @bindir@
|
|
build = @build@
|
|
build_alias = @build_alias@
|
|
build_cpu = @build_cpu@
|
|
build_os = @build_os@
|
|
build_vendor = @build_vendor@
|
|
builddir = @builddir@
|
|
datadir = @datadir@
|
|
datarootdir = @datarootdir@
|
|
docdir = @docdir@
|
|
dvidir = @dvidir@
|
|
exec_prefix = @exec_prefix@
|
|
host = @host@
|
|
host_alias = @host_alias@
|
|
host_cpu = @host_cpu@
|
|
host_os = @host_os@
|
|
host_vendor = @host_vendor@
|
|
htmldir = @htmldir@
|
|
i18ntests = @i18ntests@
|
|
includedir = @includedir@
|
|
infodir = @infodir@
|
|
install_sh = @install_sh@
|
|
krb5rundir = @krb5rundir@
|
|
libdir = @libdir@
|
|
libexecdir = @libexecdir@
|
|
localedir = @localedir@
|
|
localstatedir = @localstatedir@
|
|
mandir = @mandir@
|
|
mkdir_p = @mkdir_p@
|
|
oldincludedir = @oldincludedir@
|
|
pdfdir = @pdfdir@
|
|
pkgpyexecdir = @pkgpyexecdir@
|
|
pkgpythondir = @pkgpythondir@
|
|
prefix = @prefix@
|
|
program_transform_name = @program_transform_name@
|
|
psdir = @psdir@
|
|
pyexecdir = @pyexecdir@
|
|
pythondir = @pythondir@
|
|
runstatedir = @runstatedir@
|
|
sbindir = @sbindir@
|
|
selinux_makefile = @selinux_makefile@
|
|
sharedstatedir = @sharedstatedir@
|
|
srcdir = @srcdir@
|
|
sysconfdir = @sysconfdir@
|
|
sysconfenvdir = @sysconfenvdir@
|
|
systemdsystemunitdir = @systemdsystemunitdir@
|
|
systemdtmpfilesdir = @systemdtmpfilesdir@
|
|
target_alias = @target_alias@
|
|
top_build_prefix = @top_build_prefix@
|
|
top_builddir = @top_builddir@
|
|
top_srcdir = @top_srcdir@
|
|
NULL =
|
|
ACLOCAL_AMFLAGS = -I m4
|
|
@ENABLE_SERVER_TRUE@IPASERVER_SUBDIRS = ipaserver
|
|
@ENABLE_SERVER_TRUE@SERVER_SUBDIRS = daemons init install
|
|
@WITH_IPATESTS_TRUE@IPATESTS_SUBDIRS = ipatests
|
|
IPACLIENT_SUBDIRS = ipaclient ipalib ipaplatform ipapython
|
|
PYTHON_SUBDIRS = $(IPACLIENT_SUBDIRS) $(IPATESTS_SUBDIRS) $(IPASERVER_SUBDIRS)
|
|
PYTHON_SCRIPT_SUBDIRS = \
|
|
$(top_builddir) \
|
|
$(top_builddir)/client \
|
|
$(top_builddir)/daemons/dnssec \
|
|
$(top_builddir)/install/certmonger \
|
|
$(top_builddir)/install/oddjob \
|
|
$(top_builddir)/install/restart_scripts \
|
|
$(top_builddir)/install/tools \
|
|
$(NULL)
|
|
|
|
AZURE_PYTHON_SCRIPT_SUBDIR = $(top_builddir)/ipatests/azure
|
|
IPA_PLACEHOLDERS = freeipa ipa ipaserver ipatests
|
|
SUBDIRS = \
|
|
asn1 \
|
|
util \
|
|
client \
|
|
contrib \
|
|
po \
|
|
pypi \
|
|
selinux \
|
|
$(PYTHON_SUBDIRS) \
|
|
$(SERVER_SUBDIRS) \
|
|
$(NULL)
|
|
|
|
GENERATED_PYTHON_FILES = \
|
|
$(top_builddir)/ipaplatform/override.py \
|
|
$(top_builddir)/ipapython/version.py \
|
|
$(top_builddir)/makeaci \
|
|
$(top_builddir)/makeapi \
|
|
$(NULL)
|
|
|
|
MOSTLYCLEANFILES = ipasetup.pyc ipasetup.pyo \
|
|
pylint_plugins.pyc pylint_plugins.pyo
|
|
|
|
|
|
# user-facing scripts
|
|
nodist_bin_SCRIPTS = ipa
|
|
|
|
# files required for build but not installed
|
|
nodist_noinst_SCRIPTS = \
|
|
makeapi \
|
|
makeaci \
|
|
$(NULL)
|
|
|
|
dist_noinst_SCRIPTS = \
|
|
make-doc \
|
|
make-test \
|
|
pylint_plugins.py \
|
|
$(NULL)
|
|
|
|
|
|
# templates
|
|
dist_noinst_DATA = \
|
|
ipa.in \
|
|
makeaci.in \
|
|
makeapi.in \
|
|
$(NULL)
|
|
|
|
EXTRA_DIST = .mailmap \
|
|
ACI.txt \
|
|
API.txt \
|
|
BUILD.txt \
|
|
config.rpath \
|
|
README.md \
|
|
Contributors.txt \
|
|
COPYING.openssl \
|
|
contrib \
|
|
doc \
|
|
freeipa.spec.in \
|
|
ipasetup.py.in \
|
|
pylintrc \
|
|
.wheelconstraints.in
|
|
|
|
TARBALL = $(PACKAGE)-$(VERSION).tar.gz
|
|
@IS_GIT_SNAPSHOT_TRUE@VERSION_UPDATE_TARGET = version-update
|
|
@IS_GIT_SNAPSHOT_TRUE@VERSION_BAKEIN_TARGET = _dist-version-bakein
|
|
@WITH_POLINT_TRUE@POLINT_TARGET = polint
|
|
@WITH_PYLINT_TRUE@PYLINT_TARGET = pylint
|
|
@WITH_JSLINT_TRUE@JSLINT_TARGET = jslint
|
|
WHEELDISTDIR = $(top_builddir)/dist/wheels
|
|
WHEELPYPIDIR = $(top_builddir)/dist/pypi
|
|
WHEELBUNDLEDIR = $(top_builddir)/dist/bundle
|
|
|
|
# additional wheels for bundle, e.g. IPA_EXTRA_WHEELS="ipatests[webui] pylint"
|
|
IPA_EXTRA_WHEELS =
|
|
PYTHON_SHEBANG = \
|
|
ipa \
|
|
makeaci \
|
|
makeapi \
|
|
$(NULL)
|
|
|
|
CLEANFILES = $(PYTHON_SHEBANG)
|
|
all: config.h
|
|
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
|
|
|
.SUFFIXES:
|
|
am--refresh: Makefile
|
|
@:
|
|
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/Makefile.pythonscripts.am $(am__configure_deps)
|
|
@for dep in $?; do \
|
|
case '$(am__configure_deps)' in \
|
|
*$$dep*) \
|
|
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
|
|
$(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
|
|
&& exit 0; \
|
|
exit 1;; \
|
|
esac; \
|
|
done; \
|
|
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
|
|
$(am__cd) $(top_srcdir) && \
|
|
$(AUTOMAKE) --foreign Makefile
|
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
|
@case '$?' in \
|
|
*config.status*) \
|
|
echo ' $(SHELL) ./config.status'; \
|
|
$(SHELL) ./config.status;; \
|
|
*) \
|
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
|
|
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
|
|
esac;
|
|
$(top_srcdir)/Makefile.pythonscripts.am $(am__empty):
|
|
|
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
|
$(SHELL) ./config.status --recheck
|
|
|
|
$(top_srcdir)/configure: $(am__configure_deps)
|
|
$(am__cd) $(srcdir) && $(AUTOCONF)
|
|
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
|
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
|
$(am__aclocal_m4_deps):
|
|
|
|
config.h: stamp-h1
|
|
@test -f $@ || rm -f stamp-h1
|
|
@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
|
|
|
|
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
|
@rm -f stamp-h1
|
|
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
|
$(srcdir)/config.h.in: $(am__configure_deps)
|
|
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
|
|
rm -f stamp-h1
|
|
touch $@
|
|
|
|
distclean-hdr:
|
|
-rm -f config.h stamp-h1
|
|
install-nodist_binSCRIPTS: $(nodist_bin_SCRIPTS)
|
|
@$(NORMAL_INSTALL)
|
|
@list='$(nodist_bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
|
|
if test -n "$$list"; then \
|
|
echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
|
|
$(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
|
|
fi; \
|
|
for p in $$list; do \
|
|
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
|
if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
|
|
done | \
|
|
sed -e 'p;s,.*/,,;n' \
|
|
-e 'h;s|.*|.|' \
|
|
-e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
|
|
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
|
|
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
|
|
if ($$2 == $$4) { files[d] = files[d] " " $$1; \
|
|
if (++n[d] == $(am__install_max)) { \
|
|
print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
|
|
else { print "f", d "/" $$4, $$1 } } \
|
|
END { for (d in files) print "f", d, files[d] }' | \
|
|
while read type dir files; do \
|
|
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
|
|
test -z "$$files" || { \
|
|
echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
|
|
$(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
|
|
} \
|
|
; done
|
|
|
|
uninstall-nodist_binSCRIPTS:
|
|
@$(NORMAL_UNINSTALL)
|
|
@list='$(nodist_bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
|
|
files=`for p in $$list; do echo "$$p"; done | \
|
|
sed -e 's,.*/,,;$(transform)'`; \
|
|
dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir)
|
|
|
|
mostlyclean-libtool:
|
|
-rm -f *.lo
|
|
|
|
clean-libtool:
|
|
-rm -rf .libs _libs
|
|
|
|
distclean-libtool:
|
|
-rm -f libtool config.lt
|
|
|
|
# This directory's subdirectories are mostly independent; you can cd
|
|
# into them and run 'make' without going through this Makefile.
|
|
# To change the values of 'make' variables: instead of editing Makefiles,
|
|
# (1) if the variable is set in 'config.status', edit 'config.status'
|
|
# (which will cause the Makefiles to be regenerated when you run 'make');
|
|
# (2) otherwise, pass the desired values on the 'make' command line.
|
|
$(am__recursive_targets):
|
|
@fail=; \
|
|
if $(am__make_keepgoing); then \
|
|
failcom='fail=yes'; \
|
|
else \
|
|
failcom='exit 1'; \
|
|
fi; \
|
|
dot_seen=no; \
|
|
target=`echo $@ | sed s/-recursive//`; \
|
|
case "$@" in \
|
|
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
|
*) list='$(SUBDIRS)' ;; \
|
|
esac; \
|
|
for subdir in $$list; do \
|
|
echo "Making $$target in $$subdir"; \
|
|
if test "$$subdir" = "."; then \
|
|
dot_seen=yes; \
|
|
local_target="$$target-am"; \
|
|
else \
|
|
local_target="$$target"; \
|
|
fi; \
|
|
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
|
|| eval $$failcom; \
|
|
done; \
|
|
if test "$$dot_seen" = "no"; then \
|
|
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
|
fi; test -z "$$fail"
|
|
|
|
ID: $(am__tagged_files)
|
|
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
|
tags: tags-recursive
|
|
TAGS: tags
|
|
|
|
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
|
set x; \
|
|
here=`pwd`; \
|
|
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
|
include_option=--etags-include; \
|
|
empty_fix=.; \
|
|
else \
|
|
include_option=--include; \
|
|
empty_fix=; \
|
|
fi; \
|
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
|
if test "$$subdir" = .; then :; else \
|
|
test ! -f $$subdir/TAGS || \
|
|
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
|
|
fi; \
|
|
done; \
|
|
$(am__define_uniq_tagged_files); \
|
|
shift; \
|
|
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
|
test -n "$$unique" || unique=$$empty_fix; \
|
|
if test $$# -gt 0; then \
|
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
|
"$$@" $$unique; \
|
|
else \
|
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
|
$$unique; \
|
|
fi; \
|
|
fi
|
|
ctags: ctags-recursive
|
|
|
|
CTAGS: ctags
|
|
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
|
$(am__define_uniq_tagged_files); \
|
|
test -z "$(CTAGS_ARGS)$$unique" \
|
|
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
|
$$unique
|
|
|
|
GTAGS:
|
|
here=`$(am__cd) $(top_builddir) && pwd` \
|
|
&& $(am__cd) $(top_srcdir) \
|
|
&& gtags -i $(GTAGS_ARGS) "$$here"
|
|
cscope: cscope.files
|
|
test ! -s cscope.files \
|
|
|| $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
|
|
clean-cscope:
|
|
-rm -f cscope.files
|
|
cscope.files: clean-cscope cscopelist
|
|
cscopelist: cscopelist-recursive
|
|
|
|
cscopelist-am: $(am__tagged_files)
|
|
list='$(am__tagged_files)'; \
|
|
case "$(srcdir)" in \
|
|
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
|
*) sdir=$(subdir)/$(srcdir) ;; \
|
|
esac; \
|
|
for i in $$list; do \
|
|
if test -f "$$i"; then \
|
|
echo "$(subdir)/$$i"; \
|
|
else \
|
|
echo "$$sdir/$$i"; \
|
|
fi; \
|
|
done >> $(top_builddir)/cscope.files
|
|
|
|
distclean-tags:
|
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
|
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
|
|
|
|
distdir: $(BUILT_SOURCES)
|
|
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
|
|
|
distdir-am: $(DISTFILES)
|
|
$(am__remove_distdir)
|
|
test -d "$(distdir)" || mkdir "$(distdir)"
|
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
|
list='$(DISTFILES)'; \
|
|
dist_files=`for file in $$list; do echo $$file; done | \
|
|
sed -e "s|^$$srcdirstrip/||;t" \
|
|
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
|
case $$dist_files in \
|
|
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
|
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
|
sort -u` ;; \
|
|
esac; \
|
|
for file in $$dist_files; do \
|
|
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
|
if test -d $$d/$$file; then \
|
|
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
|
if test -d "$(distdir)/$$file"; then \
|
|
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
|
fi; \
|
|
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
|
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
|
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
|
fi; \
|
|
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
|
else \
|
|
test -f "$(distdir)/$$file" \
|
|
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
|
|| exit 1; \
|
|
fi; \
|
|
done
|
|
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
|
if test "$$subdir" = .; then :; else \
|
|
$(am__make_dryrun) \
|
|
|| test -d "$(distdir)/$$subdir" \
|
|
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
|
|| exit 1; \
|
|
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
|
|
$(am__relativize); \
|
|
new_distdir=$$reldir; \
|
|
dir1=$$subdir; dir2="$(top_distdir)"; \
|
|
$(am__relativize); \
|
|
new_top_distdir=$$reldir; \
|
|
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
|
|
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
|
|
($(am__cd) $$subdir && \
|
|
$(MAKE) $(AM_MAKEFLAGS) \
|
|
top_distdir="$$new_top_distdir" \
|
|
distdir="$$new_distdir" \
|
|
am__remove_distdir=: \
|
|
am__skip_length_check=: \
|
|
am__skip_mode_fix=: \
|
|
distdir) \
|
|
|| exit 1; \
|
|
fi; \
|
|
done
|
|
$(MAKE) $(AM_MAKEFLAGS) \
|
|
top_distdir="$(top_distdir)" distdir="$(distdir)" \
|
|
dist-hook
|
|
-test -n "$(am__skip_mode_fix)" \
|
|
|| find "$(distdir)" -type d ! -perm -755 \
|
|
-exec chmod u+rwx,go+rx {} \; -o \
|
|
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
|
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
|
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|
|
|| chmod -R a+r "$(distdir)"
|
|
dist-gzip: distdir
|
|
tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
|
|
$(am__post_remove_distdir)
|
|
|
|
dist-bzip2: distdir
|
|
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
|
|
$(am__post_remove_distdir)
|
|
|
|
dist-lzip: distdir
|
|
tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
|
|
$(am__post_remove_distdir)
|
|
|
|
dist-xz: distdir
|
|
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
|
|
$(am__post_remove_distdir)
|
|
|
|
dist-zstd: distdir
|
|
tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst
|
|
$(am__post_remove_distdir)
|
|
|
|
dist-tarZ: distdir
|
|
@echo WARNING: "Support for distribution archives compressed with" \
|
|
"legacy program 'compress' is deprecated." >&2
|
|
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
|
|
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
|
$(am__post_remove_distdir)
|
|
|
|
dist-shar: distdir
|
|
@echo WARNING: "Support for shar distribution archives is" \
|
|
"deprecated." >&2
|
|
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
|
|
shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
|
|
$(am__post_remove_distdir)
|
|
|
|
dist-zip: distdir
|
|
-rm -f $(distdir).zip
|
|
zip -rq $(distdir).zip $(distdir)
|
|
$(am__post_remove_distdir)
|
|
|
|
dist dist-all:
|
|
$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
|
|
$(am__post_remove_distdir)
|
|
|
|
# This target untars the dist file and tries a VPATH configuration. Then
|
|
# it guarantees that the distribution is self-contained by making another
|
|
# tarfile.
|
|
distcheck: dist
|
|
case '$(DIST_ARCHIVES)' in \
|
|
*.tar.gz*) \
|
|
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
|
|
*.tar.bz2*) \
|
|
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
|
|
*.tar.lz*) \
|
|
lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
|
|
*.tar.xz*) \
|
|
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
|
|
*.tar.Z*) \
|
|
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
|
*.shar.gz*) \
|
|
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
|
|
*.zip*) \
|
|
unzip $(distdir).zip ;;\
|
|
*.tar.zst*) \
|
|
zstd -dc $(distdir).tar.zst | $(am__untar) ;;\
|
|
esac
|
|
chmod -R a-w $(distdir)
|
|
chmod u+w $(distdir)
|
|
mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
|
|
chmod a-w $(distdir)
|
|
test -d $(distdir)/_build || exit 0; \
|
|
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
|
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
|
&& am__cwd=`pwd` \
|
|
&& $(am__cd) $(distdir)/_build/sub \
|
|
&& ../../configure \
|
|
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
|
|
$(DISTCHECK_CONFIGURE_FLAGS) \
|
|
--srcdir=../.. --prefix="$$dc_install_base" \
|
|
&& $(MAKE) $(AM_MAKEFLAGS) \
|
|
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
|
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
|
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
|
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
|
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
|
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
|
distuninstallcheck \
|
|
&& chmod -R a-w "$$dc_install_base" \
|
|
&& ({ \
|
|
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
|
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
|
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
|
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
|
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
|
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
|
&& rm -rf "$$dc_destdir" \
|
|
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
|
&& rm -rf $(DIST_ARCHIVES) \
|
|
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
|
|
&& cd "$$am__cwd" \
|
|
|| exit 1
|
|
$(am__post_remove_distdir)
|
|
@(echo "$(distdir) archives ready for distribution: "; \
|
|
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
|
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
|
|
distuninstallcheck:
|
|
@test -n '$(distuninstallcheck_dir)' || { \
|
|
echo 'ERROR: trying to run $@ with an empty' \
|
|
'$$(distuninstallcheck_dir)' >&2; \
|
|
exit 1; \
|
|
}; \
|
|
$(am__cd) '$(distuninstallcheck_dir)' || { \
|
|
echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
|
|
exit 1; \
|
|
}; \
|
|
test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
|
|
|| { echo "ERROR: files left after uninstall:" ; \
|
|
if test -n "$(DESTDIR)"; then \
|
|
echo " (check DESTDIR support)"; \
|
|
fi ; \
|
|
$(distuninstallcheck_listfiles) ; \
|
|
exit 1; } >&2
|
|
distcleancheck: distclean
|
|
@if test '$(srcdir)' = . ; then \
|
|
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
|
exit 1 ; \
|
|
fi
|
|
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
|
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
|
$(distcleancheck_listfiles) ; \
|
|
exit 1; } >&2
|
|
check-am: all-am
|
|
check: check-recursive
|
|
all-am: Makefile $(SCRIPTS) $(DATA) config.h
|
|
installdirs: installdirs-recursive
|
|
installdirs-am:
|
|
for dir in "$(DESTDIR)$(bindir)"; do \
|
|
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
|
done
|
|
install: install-recursive
|
|
install-exec: install-exec-recursive
|
|
install-data: install-data-recursive
|
|
uninstall: uninstall-recursive
|
|
|
|
install-am: all-am
|
|
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
|
|
|
installcheck: installcheck-recursive
|
|
install-strip:
|
|
if test -z '$(STRIP)'; then \
|
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
|
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
|
install; \
|
|
else \
|
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
|
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
|
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
|
fi
|
|
mostlyclean-generic:
|
|
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
|
|
|
clean-generic:
|
|
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
|
|
|
distclean-generic:
|
|
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
|
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
|
|
|
maintainer-clean-generic:
|
|
@echo "This command is intended for maintainers to use"
|
|
@echo "it deletes files that may require special tools to rebuild."
|
|
clean: clean-recursive
|
|
|
|
clean-am: clean-generic clean-libtool clean-local mostlyclean-am
|
|
|
|
distclean: distclean-recursive
|
|
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
|
-rm -f Makefile
|
|
distclean-am: clean-am distclean-generic distclean-hdr \
|
|
distclean-libtool distclean-tags
|
|
|
|
dvi: dvi-recursive
|
|
|
|
dvi-am:
|
|
|
|
html: html-recursive
|
|
|
|
html-am:
|
|
|
|
info: info-recursive
|
|
|
|
info-am:
|
|
|
|
install-data-am:
|
|
|
|
install-dvi: install-dvi-recursive
|
|
|
|
install-dvi-am:
|
|
|
|
install-exec-am: install-nodist_binSCRIPTS
|
|
|
|
install-html: install-html-recursive
|
|
|
|
install-html-am:
|
|
|
|
install-info: install-info-recursive
|
|
|
|
install-info-am:
|
|
|
|
install-man:
|
|
|
|
install-pdf: install-pdf-recursive
|
|
|
|
install-pdf-am:
|
|
|
|
install-ps: install-ps-recursive
|
|
|
|
install-ps-am:
|
|
|
|
installcheck-am:
|
|
|
|
maintainer-clean: maintainer-clean-recursive
|
|
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
|
-rm -rf $(top_srcdir)/autom4te.cache
|
|
-rm -f Makefile
|
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
|
|
|
mostlyclean: mostlyclean-recursive
|
|
|
|
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
|
|
|
pdf: pdf-recursive
|
|
|
|
pdf-am:
|
|
|
|
ps: ps-recursive
|
|
|
|
ps-am:
|
|
|
|
uninstall-am: uninstall-nodist_binSCRIPTS
|
|
|
|
.MAKE: $(am__recursive_targets) all install-am install-strip
|
|
|
|
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
|
|
am--refresh check check-am clean clean-cscope clean-generic \
|
|
clean-libtool clean-local cscope cscopelist-am ctags ctags-am \
|
|
dist dist-all dist-bzip2 dist-gzip dist-hook dist-lzip \
|
|
dist-shar dist-tarZ dist-xz dist-zip dist-zstd distcheck \
|
|
distclean distclean-generic distclean-hdr distclean-libtool \
|
|
distclean-tags distcleancheck distdir distuninstallcheck dvi \
|
|
dvi-am html html-am info info-am install install-am \
|
|
install-data install-data-am install-dvi install-dvi-am \
|
|
install-exec install-exec-am install-html install-html-am \
|
|
install-info install-info-am install-man \
|
|
install-nodist_binSCRIPTS install-pdf install-pdf-am \
|
|
install-ps install-ps-am install-strip installcheck \
|
|
installcheck-am installdirs installdirs-am maintainer-clean \
|
|
maintainer-clean-generic mostlyclean mostlyclean-generic \
|
|
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
|
|
uninstall-am uninstall-nodist_binSCRIPTS
|
|
|
|
.PRECIOUS: Makefile
|
|
|
|
|
|
ipasetup.py: ipasetup.py.in $(CONFIG_STATUS)
|
|
$(AM_V_GEN)sed \
|
|
-e 's|@VERSION[@]|$(VERSION)|g' \
|
|
$< > $@
|
|
|
|
.wheelconstraints: .wheelconstraints.in $(CONFIG_STATUS)
|
|
$(AM_V_GEN)sed \
|
|
-e 's|@VERSION[@]|$(VERSION)|g' \
|
|
$< > $@
|
|
|
|
clean-local:
|
|
rm -rf "$(RPMBUILD)"
|
|
rm -rf "$(top_builddir)/dist"
|
|
rm -rf "$(top_builddir)/.tox"
|
|
rm -rf "$(top_srcdir)/__pycache__"
|
|
rm -f "$(top_builddir)"/$(PACKAGE)-*.tar.gz
|
|
rm -rf "$(top_srcdir)/cov-int"
|
|
rm -f "$(top_srcdir)/freeipa.tgz"
|
|
|
|
# convenience targets for RPM build
|
|
.PHONY: rpmroot rpmdistdir version-update _dist-version-bakein _rpms-prep \
|
|
rpms _rpms-body srpms _srpms-body
|
|
RPMBUILD ?= $(abs_builddir)/rpmbuild
|
|
|
|
freeipa.spec: freeipa.spec.in $(top_builddir)/$(CONFIG_STATUS)
|
|
$(AM_V_GEN)sed \
|
|
-e 's|@VERSION[@]|$(VERSION)|g' \
|
|
-e 's|@VENDOR_SUFFIX[@]|$(VENDOR_SUFFIX)|g' \
|
|
$< > $@
|
|
|
|
rpmroot:
|
|
mkdir -p $(RPMBUILD)/BUILD
|
|
mkdir -p $(RPMBUILD)/RPMS
|
|
mkdir -p $(RPMBUILD)/SOURCES
|
|
mkdir -p $(RPMBUILD)/SPECS
|
|
mkdir -p $(RPMBUILD)/SRPMS
|
|
|
|
rpmdistdir:
|
|
mkdir -p $(top_builddir)/dist/rpms
|
|
mkdir -p $(top_builddir)/dist/srpms
|
|
|
|
# force IPA version re-generation (useful for build from Git)
|
|
version-update:
|
|
touch $(srcdir)/VERSION.m4
|
|
|
|
# convert Git snapshot version to static value usable from inside of tarball
|
|
_dist-version-bakein:
|
|
@IS_GIT_SNAPSHOT_FALSE@ @echo "version-bakein target requires IPA_VERSION_IS_GIT_SNAPSHOT=yes"
|
|
@IS_GIT_SNAPSHOT_FALSE@ exit 1
|
|
chmod u+w $(top_distdir)/VERSION.m4
|
|
$(SED) -e 's/^define(IPA_VERSION_IS_GIT_SNAPSHOT,.*)/define(IPA_VERSION_IS_GIT_SNAPSHOT, no)/' -i $(top_distdir)/VERSION.m4
|
|
$(SED) -e 's/^define(IPA_VERSION_PRE_RELEASE,\(.*\))/define(IPA_VERSION_PRE_RELEASE,\1.$(GIT_VERSION))/' -i $(top_distdir)/VERSION.m4
|
|
cd $(top_distdir) && autoconf # re-generate configure from VERSION.m4
|
|
|
|
# HACK to support IPA_VERSION_IS_GIT_SNAPSHOT:
|
|
# touch VERSION.m4 will reexecute configure and change $(VERSION) used by dist
|
|
# but it will not change $(VERSION) in already running target rpms.
|
|
# We need to record new $(TARBALL) value used by dist for furher use
|
|
# in rpms target.
|
|
dist-hook: $(VERSION_BAKEIN_TARGET)
|
|
echo "$(TARBALL)" > $(top_builddir)/.tarball_name
|
|
echo "$(VERSION)" > $(top_builddir)/.version
|
|
|
|
_rpms-prep: dist-gzip rpmroot rpmdistdir freeipa.spec
|
|
cp $(top_builddir)/$$(cat $(top_builddir)/.tarball_name) $(RPMBUILD)/SOURCES/
|
|
rm -f $(top_builddir)/.tarball_name
|
|
|
|
rpms: $(VERSION_UPDATE_TARGET)
|
|
$(MAKE) _rpms-body
|
|
|
|
_rpms-body: _rpms-prep
|
|
rpmbuild --define "_topdir $(RPMBUILD)" -ba $(top_builddir)/$(PACKAGE).spec $(RPMBUILD_OPTS)
|
|
cp $(RPMBUILD)/RPMS/*/*$$(cat $(top_builddir)/.version)*.rpm $(top_builddir)/dist/rpms/
|
|
cp $(RPMBUILD)/SRPMS/*$$(cat $(top_builddir)/.version)*.src.rpm $(top_builddir)/dist/srpms/
|
|
rm -f rm -f $(top_builddir)/.version
|
|
|
|
srpms: $(VERSION_UPDATE_TARGET)
|
|
$(MAKE) _srpms-body
|
|
|
|
_srpms-body: _rpms-prep
|
|
rpmbuild --define "_topdir $(RPMBUILD)" -bs $(top_builddir)/$(PACKAGE).spec $(RPMBUILD_OPTS)
|
|
cp $(RPMBUILD)/SRPMS/*$$(cat $(top_builddir)/.version)*.src.rpm $(top_builddir)/dist/srpms/
|
|
rm -f rm -f $(top_builddir)/.version
|
|
|
|
.PHONY: lite-server
|
|
lite-server: $(GENERATED_PYTHON_FILES)
|
|
+$(MAKE) -C $(top_builddir)/install/ui
|
|
PYTHONPATH=$(top_srcdir) $(PYTHON) -bb \
|
|
contrib/lite-server.py $(LITESERVER_ARGS)
|
|
|
|
.PHONY: lint
|
|
lint: acilint apilint $(POLINT_TARGET) $(PYLINT_TARGET) $(JSLINT_TARGET) rpmlint yamllint
|
|
|
|
.PHONY: devcheck
|
|
devcheck: all
|
|
@WITH_POLINT_FALSE@ @echo "ERROR: polint not available"; exit 1
|
|
@WITH_PYLINT_FALSE@ @echo "ERROR: pylint not available"; exit 1
|
|
@WITH_JSLINT_FALSE@ @echo "ERROR: jslint not available"; exit 1
|
|
@ # just tests, aci, api and pylint on Python 3
|
|
PATH=$(abspath ipatests):$$PATH PYTHONPATH=$(abspath $(top_srcdir)) \
|
|
$(PYTHON) ipatests/ipa-run-tests --ipaclient-unittests
|
|
$(MAKE) $(AM_MAKEFLAGS) acilint apilint polint pylint jslint rpmlint yamllint check
|
|
@echo "All tests passed."
|
|
|
|
.PHONY: fastcheck fasttest fastlint
|
|
fastcheck:
|
|
@$(MAKE) -j1 $(AM_MAKEFLAGS) fastlint rpmlint yamllint fasttest apilint acilint
|
|
|
|
fasttest: $(GENERATED_PYTHON_FILES) ipasetup.py
|
|
@ # --ignore doubles speed of total test run compared to pytest.skip()
|
|
@ # on module.
|
|
PATH=$(abspath ipatests):$$PATH PYTHONPATH=$(abspath $(top_srcdir)) \
|
|
$(PYTHON) ipatests/ipa-run-tests \
|
|
--skip-ipaapi \
|
|
--ignore $(abspath $(top_srcdir))/ipatests/test_integration \
|
|
--ignore $(abspath $(top_srcdir))/ipatests/test_xmlrpc
|
|
|
|
fastlint: $(GENERATED_PYTHON_FILES) ipasetup.py
|
|
@WITH_PYLINT_FALSE@ @echo "ERROR: pylint not available"; exit 1
|
|
@echo "Fast linting with $(PYTHON) from branch '$(GIT_BRANCH)'"
|
|
|
|
@MERGEBASE=$$(git merge-base --fork-point $(GIT_BRANCH)); \
|
|
PYFILES=$$(git diff --name-only --diff-filter=d $${MERGEBASE} \
|
|
| grep -E '\.py$$' ); \
|
|
INFILES=$$(git diff --name-only --diff-filter=d $${MERGEBASE} \
|
|
| grep -E '\.in$$' \
|
|
| xargs -n1 file 2>/dev/null | grep Python \
|
|
| cut -d':' -f1; ); \
|
|
if [ -n "$${PYFILES}" ] && [ -n "$${INFILES}" ]; then \
|
|
FILES="$$( printf $${PYFILES}\\n$${INFILES} )" ; \
|
|
elif [ -n "$${PYFILES}" ]; then \
|
|
FILES="$${PYFILES}" ; \
|
|
else \
|
|
FILES="$${INFILES}" ; \
|
|
fi ; \
|
|
if [ -n "$${FILES}" ]; then \
|
|
echo -e "Fast linting files:\n$${FILES}\n"; \
|
|
echo "pycodestyle"; \
|
|
echo "-----------"; \
|
|
git diff -U0 $${MERGEBASE} | \
|
|
$(PYTHON) -m pycodestyle --diff || exit $$?; \
|
|
echo -e "\npylint"; \
|
|
echo "------"; \
|
|
PYTHONPATH=$(abspath $(top_srcdir)) $(PYTHON) -m pylint \
|
|
--rcfile=$(top_srcdir)/pylintrc \
|
|
--load-plugins pylint_plugins \
|
|
$${FILES} || exit $$?; \
|
|
else \
|
|
echo "No modified Python files found"; \
|
|
fi
|
|
|
|
.PHONY: $(top_builddir)/ipaplatform/override.py
|
|
$(top_builddir)/ipaplatform/override.py:
|
|
(cd $(top_builddir)/ipaplatform && make override.py)
|
|
|
|
.PHONY: $(top_builddir)/ipapython/version.py
|
|
$(top_builddir)/ipapython/version.py:
|
|
(cd $(top_builddir)/ipapython && make version.py)
|
|
|
|
.PHONY: acilint
|
|
acilint: $(GENERATED_PYTHON_FILES)
|
|
cd $(srcdir); \
|
|
PYTHONPATH=$(abspath $(top_srcdir)) $(PYTHON) ./makeaci --validate
|
|
|
|
.PHONY: aci
|
|
aci: $(GENERATED_PYTHON_FILES)
|
|
cd $(srcdir); \
|
|
PYTHONPATH=$(abspath $(top_srcdir)) $(PYTHON) ./makeaci
|
|
|
|
.PHONY: apilint
|
|
apilint: $(GENERATED_PYTHON_FILES)
|
|
cd $(srcdir); \
|
|
PYTHONPATH=$(abspath $(top_srcdir)) $(PYTHON) ./makeapi --validate
|
|
|
|
.PHONY: api
|
|
api: $(GENERATED_PYTHON_FILES)
|
|
cd $(srcdir); \
|
|
PYTHONPATH=$(abspath $(top_srcdir)) $(PYTHON) ./makeapi
|
|
|
|
.PHONY: polint
|
|
polint:
|
|
$(MAKE) -C $(srcdir)/po PYTHON=$(PYTHON) \
|
|
validate-src-strings validate-po test-gettext
|
|
|
|
.PHONY: rpmlint
|
|
rpmlint: freeipa.spec
|
|
rpmlint ./$<
|
|
|
|
# Try to load yml/yaml files via safe_load, which recognizes only standard
|
|
# YAML tags and cannot construct an arbitrary Python object.
|
|
# There are Jinja yaml templates, which differ from reqular ones. These
|
|
# files should be placed on skip list (YAML_TEMPLATE_FILES), otherwise
|
|
# safe_load fails.
|
|
.PHONY: yamllint
|
|
yamllint:
|
|
YAML_TEMPLATE_FILES="\
|
|
$(top_srcdir)/ipatests/azure/templates/ipa-test-config-template.yaml \
|
|
"; \
|
|
echo "jinja template files:"; \
|
|
for YAML in $${YAML_TEMPLATE_FILES}; do \
|
|
echo $${YAML}; \
|
|
$(PYTHON) -c "import yaml; f = open('$${YAML}'); yaml.safe_load(f); f.close()" >/dev/null 2>&1 \
|
|
&& { echo Unexpected PASS of parsing yaml: $${YAML}. This file is a regular yaml.; exit 1; }; \
|
|
done; \
|
|
YAML_FILES=`find $(top_srcdir) \
|
|
\( -name '*.yaml' -o \
|
|
-name '*.yml' \) \
|
|
$$(printf '! -path %s ' $${YAML_TEMPLATE_FILES})`; \
|
|
echo -e "\nlint yaml files"; \
|
|
echo "-----------"; \
|
|
for YAML in $${YAML_FILES}; do \
|
|
echo $${YAML}; \
|
|
$(PYTHON) -c "import yaml; f = open('$${YAML}'); yaml.safe_load(f); f.close()" || { echo Your YAML file: $${YAML} has a wrong syntax or this is a Jinja template. In the latter clause, consider to add your YAML file to the YAML_TEMPLATE_FILES list in Makefile.am.; exit 1; } \
|
|
done; \
|
|
echo "-----------"
|
|
|
|
# Run pylint for all python files. Finds all python files/packages, skips
|
|
# folders rpmbuild, freeipa-* and dist. Skip (match, but don't print) .*,
|
|
# *.in, *~. Finally print all python files, including scripts that do not
|
|
# have python extension.
|
|
|
|
.PHONY: pylint
|
|
|
|
@WITH_PYLINT_TRUE@pylint: $(GENERATED_PYTHON_FILES) ipasetup.py python_scripts
|
|
@WITH_PYLINT_TRUE@ FILES=`find $(top_srcdir) \
|
|
@WITH_PYLINT_TRUE@ -type d -exec test -e '{}/__init__.py' \; -print -prune -o \
|
|
@WITH_PYLINT_TRUE@ -path './rpmbuild' -prune -o \
|
|
@WITH_PYLINT_TRUE@ -path './freeipa-*' -prune -o \
|
|
@WITH_PYLINT_TRUE@ -path './dist' -prune -o \
|
|
@WITH_PYLINT_TRUE@ -path './pypi' -prune -o \
|
|
@WITH_PYLINT_TRUE@ -path './.tox' -prune -o \
|
|
@WITH_PYLINT_TRUE@ -name '.*' -o \
|
|
@WITH_PYLINT_TRUE@ -name '*.in' -o \
|
|
@WITH_PYLINT_TRUE@ -name '*~' -o \
|
|
@WITH_PYLINT_TRUE@ -name '*.py' -print -o \
|
|
@WITH_PYLINT_TRUE@ -type f -exec grep -qsm1 '^#!.*\bpython' '{}' \; -print`; \
|
|
@WITH_PYLINT_TRUE@ FILES=`echo -e "$${FILES}\n$(AZURE_PYTHON_SCRIPT_SUBDIR)"`; \
|
|
@WITH_PYLINT_TRUE@ echo -e "Pylint on $(PYTHON) is running over files:\n$${FILES}\nPlease wait ...\n"; \
|
|
@WITH_PYLINT_TRUE@ PYTHONPATH=$(top_srcdir) $(PYTHON) -m pylint \
|
|
@WITH_PYLINT_TRUE@ --rcfile=$(top_srcdir)/pylintrc \
|
|
@WITH_PYLINT_TRUE@ --load-plugins pylint_plugins \
|
|
@WITH_PYLINT_TRUE@ $${FILES}
|
|
|
|
.PHONY: jslint jslint-ui jslint-ui-test jslint-html \
|
|
$(top_builddir)/install/ui/src/libs/loader.js
|
|
|
|
@WITH_JSLINT_TRUE@jslint: jslint-ui jslint-ui-test jslint-html
|
|
|
|
@WITH_JSLINT_TRUE@$(top_builddir)/install/ui/src/libs/loader.js:
|
|
@WITH_JSLINT_TRUE@ (cd $(top_builddir)/install/ui/src/libs && make loader.js)
|
|
|
|
# create temporary symlinks to allow jslint to find libs/loader.js
|
|
@WITH_JSLINT_TRUE@jslint-ui: $(top_builddir)/install/ui/src/libs/loader.js
|
|
@WITH_JSLINT_TRUE@ cd $(top_srcdir)/install/ui; \
|
|
@WITH_JSLINT_TRUE@ jsl -nologo -nosummary -nofilelisting -conf jsl.conf;
|
|
|
|
@WITH_JSLINT_TRUE@jslint-ui-test:
|
|
@WITH_JSLINT_TRUE@ cd $(top_srcdir)/install/ui/test; \
|
|
@WITH_JSLINT_TRUE@ jsl -nologo -nosummary -nofilelisting -conf jsl.conf
|
|
|
|
@WITH_JSLINT_TRUE@jslint-html:
|
|
@WITH_JSLINT_TRUE@ cd $(top_srcdir)/install/html; \
|
|
@WITH_JSLINT_TRUE@ jsl -nologo -nosummary -nofilelisting -conf jsl.conf
|
|
|
|
.PHONY: bdist_wheel wheel_bundle wheel_placeholder pypi_packages
|
|
|
|
@MK_IFEQ@ ($(IPA_SERVER_WHEELS),1)
|
|
IPA_WHEEL_PACKAGES @MK_ASSIGN@ $(IPACLIENT_SUBDIRS) ipaplatform ipaserver
|
|
IPA_OMIT_INSTALL @MK_ASSIGN@ 0
|
|
@MK_ELSE@
|
|
IPA_WHEEL_PACKAGES @MK_ASSIGN@ $(IPACLIENT_SUBDIRS)
|
|
IPA_OMIT_INSTALL @MK_ASSIGN@ 1
|
|
@MK_ENDIF@
|
|
|
|
$(WHEELDISTDIR):
|
|
mkdir -p $(WHEELDISTDIR)
|
|
|
|
$(WHEELBUNDLEDIR):
|
|
mkdir -p $(WHEELBUNDLEDIR)
|
|
|
|
$(WHEELPYPIDIR):
|
|
mkdir -p $(WHEELPYPIDIR)
|
|
|
|
bdist_wheel: $(WHEELDISTDIR)
|
|
rm -f $(foreach item,$(IPA_WHEEL_PACKAGES) ipatests,$(WHEELDISTDIR)/$(item)-*.whl)
|
|
export IPA_OMIT_INSTALL=$(IPA_OMIT_INSTALL); \
|
|
for dir in $(IPA_WHEEL_PACKAGES) ipatests; do \
|
|
$(MAKE) $(AM_MAKEFLAGS) -C $${dir} $@ || exit 1; \
|
|
done
|
|
|
|
wheel_bundle: $(WHEELBUNDLEDIR) bdist_wheel .wheelconstraints
|
|
rm -f $(foreach item,$(IPA_WHEEL_PACKAGES) ipatests,$(WHEELBUNDLEDIR)/$(item)-*.whl)
|
|
@# dbus-python sometimes fails when MAKEFLAGS is set to -j2 or higher
|
|
MAKEFLAGS= $(PYTHON) -m pip wheel \
|
|
--disable-pip-version-check \
|
|
--constraint .wheelconstraints \
|
|
--find-links $(WHEELDISTDIR) \
|
|
--find-links $(WHEELBUNDLEDIR) \
|
|
--wheel-dir $(WHEELBUNDLEDIR) \
|
|
$(IPA_EXTRA_WHEELS) $(IPA_WHEEL_PACKAGES)
|
|
|
|
pypi_packages: $(WHEELPYPIDIR) .wheelconstraints
|
|
rm -f $(WHEELPYPIDIR)/*
|
|
for dir in $(IPACLIENT_SUBDIRS); do \
|
|
$(MAKE) $(AM_MAKEFLAGS) \
|
|
IPA_OMIT_INSTALL=1 WHEELDISTDIR="$(abspath $(WHEELPYPIDIR))" \
|
|
-C $${dir} bdist_wheel || exit 1; \
|
|
done
|
|
for dir in $(IPA_PLACEHOLDERS); do \
|
|
$(MAKE) $(AM_MAKEFLAGS) \
|
|
IPA_OMIT_INSTALL=1 WHEELDISTDIR="$(abspath $(WHEELPYPIDIR))" \
|
|
-C $(top_srcdir)/pypi/$${dir} bdist_wheel || exit 1; \
|
|
done
|
|
@echo -e "\n\nTo upload packages to PyPI, run:\n"
|
|
@echo -e " twine upload $(WHEELPYPIDIR)/*-$(VERSION)-py2.py3-none-any.whl\n"
|
|
|
|
.PHONY: python_install
|
|
python_install:
|
|
for dir in $(PYTHON_SUBDIRS); do \
|
|
$(MAKE) $(AM_MAKEFLAGS) -C $${dir} install || exit 1; \
|
|
done
|
|
|
|
.PHONY: python_scripts
|
|
python_scripts:
|
|
for dir in $(PYTHON_SCRIPT_SUBDIRS); do \
|
|
$(MAKE) $(AM_MAKEFLAGS) -C $${dir} python_scripts_sub || exit 1; \
|
|
done
|
|
|
|
.PHONY:
|
|
strip-po:
|
|
$(MAKE) -C po strip-po
|
|
|
|
.PHONY: cov-scan
|
|
cov-scan:
|
|
$(MAKE) clean
|
|
@# analyse C code with workaround for missing _Float types
|
|
@# https://stackoverflow.com/questions/50434236/coverity-scan-fails-to-build-stdlib-h-with-gnu-source-defined
|
|
cov-build --dir cov-int $(MAKE) all \
|
|
CFLAGS="-D_Float32=float -D_Float32x=double -D_Float64=double -D_Float64x='long double' -D_Float128='long double'"
|
|
@# remove build directories and analyse Python
|
|
rm -rf ipa*/build
|
|
cov-build --dir cov-int --no-command \
|
|
$(foreach d,$(PYTHON_SUBDIRS),--fs-capture-search $(d))
|
|
@# analyze JS files
|
|
cov-build --dir cov-int --no-command --fs-capture-search install/ui
|
|
@# compress and upload
|
|
tar czvf freeipa.tgz cov-int
|
|
if [ -n "$${COVERITY_SCAN_TOKEN}" ]; then \
|
|
curl --progress-bar --output /dev/null \
|
|
--form token=$${COVERITY_SCAN_TOKEN} \
|
|
--form email=scan@mg.freeipa.org \
|
|
--form file=@freeipa.tgz \
|
|
--form version="$(VERSION)" \
|
|
--form description="FreeIPA" \
|
|
"https://scan.coverity.com/builds?project=freeipa%2Ffreeipa"; \
|
|
fi
|
|
|
|
# special handling of Python scripts with auto-generated shebang line
|
|
$(PYTHON_SHEBANG):%: %.in Makefile
|
|
$(AM_V_GEN)sed -e 's|^#!/usr/bin/python3.*|#!$(PYTHON) -I|g' $< > $@
|
|
$(AM_V_GEN)chmod +x $@
|
|
|
|
.PHONY: python_scripts_sub
|
|
python_scripts_sub: $(PYTHON_SHEBANG)
|
|
|
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
|
.NOEXPORT:
|