# Makefile.in generated by automake 1.17 from Makefile.am.
# @configure_input@

# Copyright (C) 1994-2024 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@

# Makefile for common library


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))
am__rm_f = rm -f $(am__rm_f_notfound)
am__rm_rf = rm -rf $(am__rm_f_notfound)
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@
target_triplet = @target@
noinst_PROGRAMS = libcommon.o$(EXEEXT)
subdir = src/common
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/auxdir/ax_check_compile_flag.m4 \
	$(top_srcdir)/auxdir/ax_compare_version.m4 \
	$(top_srcdir)/auxdir/ax_gcc_builtin.m4 \
	$(top_srcdir)/auxdir/ax_have_epoll.m4 \
	$(top_srcdir)/auxdir/ax_lib_hdf5.m4 \
	$(top_srcdir)/auxdir/ax_pthread.m4 \
	$(top_srcdir)/auxdir/gtk-2.0.m4 \
	$(top_srcdir)/auxdir/libtool.m4 \
	$(top_srcdir)/auxdir/ltoptions.m4 \
	$(top_srcdir)/auxdir/ltsugar.m4 \
	$(top_srcdir)/auxdir/ltversion.m4 \
	$(top_srcdir)/auxdir/lt~obsolete.m4 \
	$(top_srcdir)/auxdir/slurm.m4 \
	$(top_srcdir)/auxdir/slurmrestd.m4 \
	$(top_srcdir)/auxdir/x_ac_affinity.m4 \
	$(top_srcdir)/auxdir/x_ac_bashcomp.m4 \
	$(top_srcdir)/auxdir/x_ac_c99.m4 \
	$(top_srcdir)/auxdir/x_ac_cgroup.m4 \
	$(top_srcdir)/auxdir/x_ac_curl.m4 \
	$(top_srcdir)/auxdir/x_ac_databases.m4 \
	$(top_srcdir)/auxdir/x_ac_debug.m4 \
	$(top_srcdir)/auxdir/x_ac_deprecated.m4 \
	$(top_srcdir)/auxdir/x_ac_env.m4 \
	$(top_srcdir)/auxdir/x_ac_freeipmi.m4 \
	$(top_srcdir)/auxdir/x_ac_hpe_slingshot.m4 \
	$(top_srcdir)/auxdir/x_ac_http_parser.m4 \
	$(top_srcdir)/auxdir/x_ac_hwloc.m4 \
	$(top_srcdir)/auxdir/x_ac_json.m4 \
	$(top_srcdir)/auxdir/x_ac_jwt.m4 \
	$(top_srcdir)/auxdir/x_ac_lua.m4 \
	$(top_srcdir)/auxdir/x_ac_lz4.m4 \
	$(top_srcdir)/auxdir/x_ac_man2html.m4 \
	$(top_srcdir)/auxdir/x_ac_munge.m4 \
	$(top_srcdir)/auxdir/x_ac_nvml.m4 \
	$(top_srcdir)/auxdir/x_ac_ofed.m4 \
	$(top_srcdir)/auxdir/x_ac_oneapi.m4 \
	$(top_srcdir)/auxdir/x_ac_pam.m4 \
	$(top_srcdir)/auxdir/x_ac_pkgconfig.m4 \
	$(top_srcdir)/auxdir/x_ac_pmix.m4 \
	$(top_srcdir)/auxdir/x_ac_printf_null.m4 \
	$(top_srcdir)/auxdir/x_ac_ptrace.m4 \
	$(top_srcdir)/auxdir/x_ac_rdkafka.m4 \
	$(top_srcdir)/auxdir/x_ac_readline.m4 \
	$(top_srcdir)/auxdir/x_ac_rsmi.m4 \
	$(top_srcdir)/auxdir/x_ac_s2n.m4 \
	$(top_srcdir)/auxdir/x_ac_selinux.m4 \
	$(top_srcdir)/auxdir/x_ac_setproctitle.m4 \
	$(top_srcdir)/auxdir/x_ac_sview.m4 \
	$(top_srcdir)/auxdir/x_ac_systemd.m4 \
	$(top_srcdir)/auxdir/x_ac_ucx.m4 \
	$(top_srcdir)/auxdir/x_ac_uid_gid_size.m4 \
	$(top_srcdir)/auxdir/x_ac_x11.m4 \
	$(top_srcdir)/auxdir/x_ac_yaml.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h \
	$(top_builddir)/slurm/slurm_version.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
PROGRAMS = $(noinst_PROGRAMS)
LTLIBRARIES = $(noinst_LTLIBRARIES)
am__DEPENDENCIES_1 =
libcommon_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
am_libcommon_la_OBJECTS = assoc_mgr.lo bitstring.lo callerid.lo \
	cbuf.lo core_array.lo cpu_frequency.lo cron.lo daemonize.lo \
	data.lo eio.lo env.lo extra_constraints.lo fd.lo \
	fetch_config.lo forward.lo global_defaults.lo group_cache.lo \
	half_duplex.lo hostlist.lo http.lo identity.lo id_util.lo \
	io_hdr.lo job_features.lo job_options.lo job_record.lo \
	job_resources.lo job_state_reason.lo list.lo log.lo \
	msg_type.lo net.lo node_conf.lo node_features.lo oci_config.lo \
	openapi.lo optz.lo pack.lo parse_config.lo parse_time.lo \
	parse_value.lo part_record.lo persist_conn.lo plugin.lo \
	plugrack.lo port_mgr.lo print_fields.lo proc_args.lo \
	read_config.lo reverse_tree.lo run_command.lo run_in_daemon.lo \
	sack_api.lo setproctitle.lo sluid.lo slurm_errno.lo \
	slurm_opt.lo slurm_protocol_api.lo slurm_protocol_defs.lo \
	slurm_protocol_pack.lo slurm_protocol_util.lo \
	slurm_protocol_socket.lo slurm_resolv.lo \
	slurm_resource_info.lo slurm_rlimits_info.lo \
	slurm_step_layout.lo slurm_time.lo slurmdb_defs.lo \
	slurmdb_pack.lo slurmdbd_defs.lo slurmdbd_pack.lo spank.lo \
	state_save.lo stepd_api.lo stepd_proxy.lo strlcpy.lo \
	strnatcmp.lo timers.lo track_script.lo tres_bind.lo \
	tres_frequency.lo uid.lo util-net.lo working_cluster.lo \
	write_labelled_message.lo x11_util.lo xassert.lo xahash.lo \
	xhash.lo xmalloc.lo xrandom.lo xregex.lo xsched.lo xsystemd.lo \
	xsignal.lo xstring.lo
libcommon_la_OBJECTS = $(am_libcommon_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 = 
libcommon_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(libcommon_la_LDFLAGS) $(LDFLAGS) -o $@
am_libcommon_o_OBJECTS =
libcommon_o_OBJECTS = $(am_libcommon_o_OBJECTS)
libcommon_o_LDADD = $(LDADD)
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 = 
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -I$(top_builddir)/slurm
depcomp = $(SHELL) $(top_srcdir)/auxdir/depcomp
am__maybe_remake_depfiles = depfiles
am__depfiles_remade = ./$(DEPDIR)/assoc_mgr.Plo \
	./$(DEPDIR)/bitstring.Plo ./$(DEPDIR)/callerid.Plo \
	./$(DEPDIR)/cbuf.Plo ./$(DEPDIR)/core_array.Plo \
	./$(DEPDIR)/cpu_frequency.Plo ./$(DEPDIR)/cron.Plo \
	./$(DEPDIR)/daemonize.Plo ./$(DEPDIR)/data.Plo \
	./$(DEPDIR)/eio.Plo ./$(DEPDIR)/env.Plo \
	./$(DEPDIR)/extra_constraints.Plo ./$(DEPDIR)/fd.Plo \
	./$(DEPDIR)/fetch_config.Plo ./$(DEPDIR)/forward.Plo \
	./$(DEPDIR)/global_defaults.Plo ./$(DEPDIR)/group_cache.Plo \
	./$(DEPDIR)/half_duplex.Plo ./$(DEPDIR)/hostlist.Plo \
	./$(DEPDIR)/http.Plo ./$(DEPDIR)/id_util.Plo \
	./$(DEPDIR)/identity.Plo ./$(DEPDIR)/io_hdr.Plo \
	./$(DEPDIR)/job_features.Plo ./$(DEPDIR)/job_options.Plo \
	./$(DEPDIR)/job_record.Plo ./$(DEPDIR)/job_resources.Plo \
	./$(DEPDIR)/job_state_reason.Plo ./$(DEPDIR)/list.Plo \
	./$(DEPDIR)/log.Plo ./$(DEPDIR)/msg_type.Plo \
	./$(DEPDIR)/net.Plo ./$(DEPDIR)/node_conf.Plo \
	./$(DEPDIR)/node_features.Plo ./$(DEPDIR)/oci_config.Plo \
	./$(DEPDIR)/openapi.Plo ./$(DEPDIR)/optz.Plo \
	./$(DEPDIR)/pack.Plo ./$(DEPDIR)/parse_config.Plo \
	./$(DEPDIR)/parse_time.Plo ./$(DEPDIR)/parse_value.Plo \
	./$(DEPDIR)/part_record.Plo ./$(DEPDIR)/persist_conn.Plo \
	./$(DEPDIR)/plugin.Plo ./$(DEPDIR)/plugrack.Plo \
	./$(DEPDIR)/port_mgr.Plo ./$(DEPDIR)/print_fields.Plo \
	./$(DEPDIR)/proc_args.Plo ./$(DEPDIR)/read_config.Plo \
	./$(DEPDIR)/reverse_tree.Plo ./$(DEPDIR)/run_command.Plo \
	./$(DEPDIR)/run_in_daemon.Plo ./$(DEPDIR)/sack_api.Plo \
	./$(DEPDIR)/setproctitle.Plo ./$(DEPDIR)/sluid.Plo \
	./$(DEPDIR)/slurm_errno.Plo ./$(DEPDIR)/slurm_opt.Plo \
	./$(DEPDIR)/slurm_protocol_api.Plo \
	./$(DEPDIR)/slurm_protocol_defs.Plo \
	./$(DEPDIR)/slurm_protocol_pack.Plo \
	./$(DEPDIR)/slurm_protocol_socket.Plo \
	./$(DEPDIR)/slurm_protocol_util.Plo \
	./$(DEPDIR)/slurm_resolv.Plo \
	./$(DEPDIR)/slurm_resource_info.Plo \
	./$(DEPDIR)/slurm_rlimits_info.Plo \
	./$(DEPDIR)/slurm_step_layout.Plo ./$(DEPDIR)/slurm_time.Plo \
	./$(DEPDIR)/slurmdb_defs.Plo ./$(DEPDIR)/slurmdb_pack.Plo \
	./$(DEPDIR)/slurmdbd_defs.Plo ./$(DEPDIR)/slurmdbd_pack.Plo \
	./$(DEPDIR)/spank.Plo ./$(DEPDIR)/state_save.Plo \
	./$(DEPDIR)/stepd_api.Plo ./$(DEPDIR)/stepd_proxy.Plo \
	./$(DEPDIR)/strlcpy.Plo ./$(DEPDIR)/strnatcmp.Plo \
	./$(DEPDIR)/timers.Plo ./$(DEPDIR)/track_script.Plo \
	./$(DEPDIR)/tres_bind.Plo ./$(DEPDIR)/tres_frequency.Plo \
	./$(DEPDIR)/uid.Plo ./$(DEPDIR)/util-net.Plo \
	./$(DEPDIR)/working_cluster.Plo \
	./$(DEPDIR)/write_labelled_message.Plo \
	./$(DEPDIR)/x11_util.Plo ./$(DEPDIR)/xahash.Plo \
	./$(DEPDIR)/xassert.Plo ./$(DEPDIR)/xhash.Plo \
	./$(DEPDIR)/xmalloc.Plo ./$(DEPDIR)/xrandom.Plo \
	./$(DEPDIR)/xregex.Plo ./$(DEPDIR)/xsched.Plo \
	./$(DEPDIR)/xsignal.Plo ./$(DEPDIR)/xstring.Plo \
	./$(DEPDIR)/xsystemd.Plo
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
	$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo "  CC      " $@;
am__v_CC_1 = 
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo "  CCLD    " $@;
am__v_CCLD_1 = 
SOURCES = $(libcommon_la_SOURCES) $(libcommon_o_SOURCES)
am__can_run_installinfo = \
  case $$AM_UPDATE_INFO_DIR in \
    n|no|NO) false;; \
    *) (install-info --version) >/dev/null 2>&1;; \
  esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# 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)`
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AR_FLAGS = @AR_FLAGS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BPF_CPPFLAGS = @BPF_CPPFLAGS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHECK_CFLAGS = @CHECK_CFLAGS@
CHECK_LIBS = @CHECK_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSCOPE = @CSCOPE@
CTAGS = @CTAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FILECMD = @FILECMD@
FREEIPMI_CPPFLAGS = @FREEIPMI_CPPFLAGS@
FREEIPMI_LDFLAGS = @FREEIPMI_LDFLAGS@
FREEIPMI_LIBS = @FREEIPMI_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
GLIB_MKENUMS = @GLIB_MKENUMS@
GOBJECT_QUERY = @GOBJECT_QUERY@
GREP = @GREP@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
H5CC = @H5CC@
H5FC = @H5FC@
HAVEMYSQLCONFIG = @HAVEMYSQLCONFIG@
HAVE_MAN2HTML = @HAVE_MAN2HTML@
HDF5_CC = @HDF5_CC@
HDF5_CFLAGS = @HDF5_CFLAGS@
HDF5_CPPFLAGS = @HDF5_CPPFLAGS@
HDF5_FC = @HDF5_FC@
HDF5_FFLAGS = @HDF5_FFLAGS@
HDF5_FLIBS = @HDF5_FLIBS@
HDF5_LDFLAGS = @HDF5_LDFLAGS@
HDF5_LIBS = @HDF5_LIBS@
HDF5_TYPE = @HDF5_TYPE@
HDF5_VERSION = @HDF5_VERSION@
HPE_SLINGSHOT_CFLAGS = @HPE_SLINGSHOT_CFLAGS@
HTTP_PARSER_CPPFLAGS = @HTTP_PARSER_CPPFLAGS@
HTTP_PARSER_LDFLAGS = @HTTP_PARSER_LDFLAGS@
HWLOC_CPPFLAGS = @HWLOC_CPPFLAGS@
HWLOC_LDFLAGS = @HWLOC_LDFLAGS@
HWLOC_LIBS = @HWLOC_LIBS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
JSON_CPPFLAGS = @JSON_CPPFLAGS@
JSON_LDFLAGS = @JSON_LDFLAGS@
JWT_CPPFLAGS = @JWT_CPPFLAGS@
JWT_LDFLAGS = @JWT_LDFLAGS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBCURL = @LIBCURL@
LIBCURL_CPPFLAGS = @LIBCURL_CPPFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIB_SLURM = @LIB_SLURM@
LIB_SLURM_BUILD = @LIB_SLURM_BUILD@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
LZ4_CPPFLAGS = @LZ4_CPPFLAGS@
LZ4_LDFLAGS = @LZ4_LDFLAGS@
LZ4_LIBS = @LZ4_LIBS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MUNGE_CPPFLAGS = @MUNGE_CPPFLAGS@
MUNGE_DIR = @MUNGE_DIR@
MUNGE_LDFLAGS = @MUNGE_LDFLAGS@
MUNGE_LIBS = @MUNGE_LIBS@
MYSQL_CFLAGS = @MYSQL_CFLAGS@
MYSQL_LIBS = @MYSQL_LIBS@
NM = @NM@
NMEDIT = @NMEDIT@
NUMA_LIBS = @NUMA_LIBS@
NVML_CPPFLAGS = @NVML_CPPFLAGS@
OBJCOPY = @OBJCOPY@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OFED_CPPFLAGS = @OFED_CPPFLAGS@
OFED_LDFLAGS = @OFED_LDFLAGS@
OFED_LIBS = @OFED_LIBS@
ONEAPI_CPPFLAGS = @ONEAPI_CPPFLAGS@
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@
PAM_DIR = @PAM_DIR@
PAM_LIBS = @PAM_LIBS@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PMIX_V2_CPPFLAGS = @PMIX_V2_CPPFLAGS@
PMIX_V2_LDFLAGS = @PMIX_V2_LDFLAGS@
PMIX_V3_CPPFLAGS = @PMIX_V3_CPPFLAGS@
PMIX_V3_LDFLAGS = @PMIX_V3_LDFLAGS@
PMIX_V4_CPPFLAGS = @PMIX_V4_CPPFLAGS@
PMIX_V4_LDFLAGS = @PMIX_V4_LDFLAGS@
PMIX_V5_CPPFLAGS = @PMIX_V5_CPPFLAGS@
PMIX_V5_LDFLAGS = @PMIX_V5_LDFLAGS@
PMIX_V6_CPPFLAGS = @PMIX_V6_CPPFLAGS@
PMIX_V6_LDFLAGS = @PMIX_V6_LDFLAGS@
PROJECT = @PROJECT@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_CXX = @PTHREAD_CXX@
PTHREAD_LIBS = @PTHREAD_LIBS@
RANLIB = @RANLIB@
RDKAFKA_CPPFLAGS = @RDKAFKA_CPPFLAGS@
RDKAFKA_LDFLAGS = @RDKAFKA_LDFLAGS@
RDKAFKA_LIBS = @RDKAFKA_LIBS@
READLINE_LIBS = @READLINE_LIBS@
RELEASE = @RELEASE@
RSMI_CPPFLAGS = @RSMI_CPPFLAGS@
S2N_CPPFLAGS = @S2N_CPPFLAGS@
S2N_DIR = @S2N_DIR@
S2N_LDFLAGS = @S2N_LDFLAGS@
S2N_LIBS = @S2N_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SLEEP_CMD = @SLEEP_CMD@
SLURMCTLD_INTERFACES = @SLURMCTLD_INTERFACES@
SLURMCTLD_PORT = @SLURMCTLD_PORT@
SLURMCTLD_PORT_COUNT = @SLURMCTLD_PORT_COUNT@
SLURMDBD_PORT = @SLURMDBD_PORT@
SLURMD_INTERFACES = @SLURMD_INTERFACES@
SLURMD_PORT = @SLURMD_PORT@
SLURMRESTD_PORT = @SLURMRESTD_PORT@
SLURM_API_AGE = @SLURM_API_AGE@
SLURM_API_CURRENT = @SLURM_API_CURRENT@
SLURM_API_MAJOR = @SLURM_API_MAJOR@
SLURM_API_REVISION = @SLURM_API_REVISION@
SLURM_API_VERSION = @SLURM_API_VERSION@
SLURM_MAJOR = @SLURM_MAJOR@
SLURM_MICRO = @SLURM_MICRO@
SLURM_MINOR = @SLURM_MINOR@
SLURM_PREFIX = @SLURM_PREFIX@
SLURM_VERSION_NUMBER = @SLURM_VERSION_NUMBER@
SLURM_VERSION_STRING = @SLURM_VERSION_STRING@
STRIP = @STRIP@
SUCMD = @SUCMD@
SYSTEMD_TASKSMAX_OPTION = @SYSTEMD_TASKSMAX_OPTION@
UCX_CPPFLAGS = @UCX_CPPFLAGS@
UCX_LDFLAGS = @UCX_LDFLAGS@
UCX_LIBS = @UCX_LIBS@
UTIL_LIBS = @UTIL_LIBS@
VERSION = @VERSION@
YAML_CPPFLAGS = @YAML_CPPFLAGS@
YAML_LDFLAGS = @YAML_LDFLAGS@
_libcurl_config = @_libcurl_config@
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_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_have_man2html = @ac_have_man2html@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__rm_f_notfound = @am__rm_f_notfound@
am__tar = @am__tar@
am__untar = @am__untar@
am__xargs_n = @am__xargs_n@
ax_pthread_config = @ax_pthread_config@
bashcompdir = @bashcompdir@
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@
dbus_CFLAGS = @dbus_CFLAGS@
dbus_LIBS = @dbus_LIBS@
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@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
libselinux_CFLAGS = @libselinux_CFLAGS@
libselinux_LIBS = @libselinux_LIBS@
localedir = @localedir@
localstatedir = @localstatedir@
lua_CFLAGS = @lua_CFLAGS@
lua_LIBS = @lua_LIBS@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgconfigdir = @pkgconfigdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
systemdsystemunitdir = @systemdsystemunitdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = foreign
AM_CPPFLAGS = -I$(top_srcdir) -DSBINDIR=\"$(sbindir)\"
noinst_LTLIBRARIES = libcommon.la
libcommon_la_SOURCES = \
	assoc_mgr.c				\
	assoc_mgr.h				\
	bitstring.c				\
	bitstring.h				\
	callerid.c				\
	callerid.h				\
	cbuf.c					\
	cbuf.h					\
	core_array.c				\
	core_array.h				\
	cpu_frequency.c				\
	cpu_frequency.h				\
	cron.c					\
	cron.h					\
	daemonize.c				\
	daemonize.h				\
	data.c					\
	data.h					\
	eio.c					\
	eio.h					\
	env.c					\
	env.h					\
	extra_constraints.c			\
	extra_constraints.h			\
	fd.c					\
	fd.h					\
	fetch_config.c				\
	fetch_config.h				\
	forward.c				\
	forward.h				\
	global_defaults.c			\
	group_cache.c				\
	group_cache.h				\
	half_duplex.c				\
	half_duplex.h				\
	hostlist.c				\
	hostlist.h				\
	http.h					\
	http.c					\
	identity.h				\
	identity.c				\
	id_util.h				\
	id_util.c				\
	io_hdr.c				\
	io_hdr.h				\
	job_features.c				\
	job_features.h				\
	job_options.c				\
	job_options.h				\
	job_record.c				\
	job_record.h				\
	job_resources.c				\
	job_resources.h				\
	job_state_reason.c			\
	job_state_reason.h			\
	list.c					\
	list.h					\
	log.c					\
	log.h					\
	macros.h				\
	msg_type.c				\
	msg_type.h				\
	net.c					\
	net.h					\
	node_conf.c				\
	node_conf.h				\
	node_features.c				\
	node_features.h				\
	oci_config.c				\
	oci_config.h				\
	openapi.c				\
	openapi.h				\
	optz.c					\
	optz.h					\
	pack.c					\
	pack.h					\
	parse_config.c				\
	parse_config.h				\
	parse_time.c				\
	parse_time.h				\
	parse_value.c				\
	parse_value.h				\
	part_record.c				\
	part_record.h				\
	persist_conn.c				\
	persist_conn.h				\
	plugin.c				\
	plugin.h				\
	plugrack.c				\
	plugrack.h				\
	port_mgr.c				\
	port_mgr.h				\
	print_fields.c				\
	print_fields.h				\
	proc_args.c				\
	proc_args.h				\
	read_config.c				\
	read_config.h				\
	ref.h					\
	reverse_tree.c				\
	reverse_tree.h				\
	run_command.c				\
	run_command.h				\
	run_in_daemon.c				\
	run_in_daemon.h				\
	sack_api.c				\
	sack_api.h				\
	setproctitle.c				\
	setproctitle.h				\
	sluid.c					\
	sluid.h					\
	slurm_errno.c				\
	slurm_opt.c				\
	slurm_opt.h				\
	slurm_protocol_api.c			\
	slurm_protocol_api.h			\
	slurm_protocol_common.h			\
	slurm_protocol_defs.c			\
	slurm_protocol_defs.h			\
	slurm_protocol_pack.c			\
	slurm_protocol_pack.h			\
	slurm_protocol_util.c			\
	slurm_protocol_util.h			\
	slurm_protocol_socket.c			\
	slurm_protocol_socket.h			\
	slurm_resolv.c				\
	slurm_resolv.h				\
	slurm_resource_info.c			\
	slurm_resource_info.h			\
	slurm_rlimits_info.c			\
	slurm_rlimits_info.h			\
	slurm_step_layout.c			\
	slurm_step_layout.h			\
	slurm_time.c				\
	slurm_time.h				\
	slurm_xlator.h				\
	slurmdb_defs.c				\
	slurmdb_defs.h				\
	slurmdb_pack.c				\
	slurmdb_pack.h				\
	slurmdbd_defs.c				\
	slurmdbd_defs.h				\
	slurmdbd_pack.c				\
	slurmdbd_pack.h				\
	spank.c					\
	spank.h					\
	state_save.c				\
	state_save.h				\
	stepd_api.c				\
	stepd_api.h				\
	stepd_proxy.c				\
	stepd_proxy.h				\
	strlcpy.c				\
	strlcpy.h				\
	strnatcmp.c				\
	strnatcmp.h				\
	timers.c				\
	timers.h				\
	track_script.c				\
	track_script.h				\
	tres_bind.c				\
	tres_bind.h				\
	tres_frequency.c			\
	tres_frequency.h			\
	uid.c					\
	uid.h					\
	uthash.h				\
	util-net.c				\
	util-net.h				\
	working_cluster.c			\
	working_cluster.h			\
	write_labelled_message.c		\
	write_labelled_message.h		\
	x11_util.c				\
	x11_util.h				\
	xassert.c				\
	xassert.h				\
	xahash.c				\
	xahash.h				\
	xhash.c					\
	xhash.h					\
	xmalloc.c				\
	xmalloc.h				\
	xrandom.c				\
	xrandom.h				\
	xregex.c				\
	xregex.h				\
	xsched.c				\
	xsched.h				\
	xsystemd.c				\
	xsystemd.h				\
	xsignal.c				\
	xsignal.h				\
	xstring.c				\
	xstring.h

libcommon_la_LIBADD = $(libselinux_LIBS)
libcommon_la_LDFLAGS = $(LIB_LDFLAGS) -module --export-dynamic

# This was made so we could export all symbols from libcommon
# on multiple platforms
libcommon_o_SOURCES = 
all: all-am

.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
	        && { if test -f $@; then exit 0; else break; fi; }; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/common/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --foreign src/common/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
	esac;

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh

$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):

clean-noinstPROGRAMS:
	$(am__rm_f) $(noinst_PROGRAMS)
	test -z "$(EXEEXT)" || $(am__rm_f) $(noinst_PROGRAMS:$(EXEEXT)=)

clean-noinstLTLIBRARIES:
	-$(am__rm_f) $(noinst_LTLIBRARIES)
	@list='$(noinst_LTLIBRARIES)'; \
	locs=`for p in $$list; do echo $$p; done | \
	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
	      sort -u`; \
	echo rm -f $${locs}; \
	$(am__rm_f) $${locs}

libcommon.la: $(libcommon_la_OBJECTS) $(libcommon_la_DEPENDENCIES) $(EXTRA_libcommon_la_DEPENDENCIES) 
	$(AM_V_CCLD)$(libcommon_la_LINK)  $(libcommon_la_OBJECTS) $(libcommon_la_LIBADD) $(LIBS)

mostlyclean-compile:
	-rm -f *.$(OBJEXT)

distclean-compile:
	-rm -f *.tab.c

@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/assoc_mgr.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bitstring.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/callerid.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cbuf.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/core_array.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpu_frequency.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cron.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/daemonize.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eio.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/env.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/extra_constraints.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fd.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fetch_config.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/forward.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/global_defaults.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/group_cache.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/half_duplex.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hostlist.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/id_util.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/identity.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io_hdr.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/job_features.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/job_options.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/job_record.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/job_resources.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/job_state_reason.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msg_type.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/node_conf.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/node_features.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oci_config.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openapi.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/optz.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pack.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse_config.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse_time.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse_value.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/part_record.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/persist_conn.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/plugin.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/plugrack.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/port_mgr.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/print_fields.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/proc_args.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/read_config.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reverse_tree.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run_command.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run_in_daemon.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sack_api.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setproctitle.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sluid.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slurm_errno.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slurm_opt.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slurm_protocol_api.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slurm_protocol_defs.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slurm_protocol_pack.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slurm_protocol_socket.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slurm_protocol_util.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slurm_resolv.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slurm_resource_info.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slurm_rlimits_info.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slurm_step_layout.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slurm_time.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slurmdb_defs.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slurmdb_pack.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slurmdbd_defs.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slurmdbd_pack.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spank.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/state_save.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stepd_api.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stepd_proxy.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strlcpy.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strnatcmp.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timers.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/track_script.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tres_bind.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tres_frequency.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uid.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util-net.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/working_cluster.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/write_labelled_message.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x11_util.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xahash.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xassert.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xhash.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmalloc.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xrandom.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xregex.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xsched.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xsignal.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstring.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xsystemd.Plo@am__quote@ # am--include-marker

$(am__depfiles_remade):
	@$(MKDIR_P) $(@D)
	@: >>$@

am--depfiles: $(am__depfiles_remade)

.c.o:
@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<

.c.obj:
@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`

.c.lo:
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs

ID: $(am__tagged_files)
	$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags

tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
	set x; \
	here=`pwd`; \
	$(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-am

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"
cscopelist: cscopelist-am

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
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS) $(LTLIBRARIES)
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

install-am: all-am
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am

installcheck: installcheck-am
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:

clean-generic:

distclean-generic:
	-$(am__rm_f) $(CONFIG_CLEAN_FILES)
	-test . = "$(srcdir)" || $(am__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-am

clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
	clean-noinstPROGRAMS mostlyclean-am

distclean: distclean-am
	-rm -f ./$(DEPDIR)/assoc_mgr.Plo
	-rm -f ./$(DEPDIR)/bitstring.Plo
	-rm -f ./$(DEPDIR)/callerid.Plo
	-rm -f ./$(DEPDIR)/cbuf.Plo
	-rm -f ./$(DEPDIR)/core_array.Plo
	-rm -f ./$(DEPDIR)/cpu_frequency.Plo
	-rm -f ./$(DEPDIR)/cron.Plo
	-rm -f ./$(DEPDIR)/daemonize.Plo
	-rm -f ./$(DEPDIR)/data.Plo
	-rm -f ./$(DEPDIR)/eio.Plo
	-rm -f ./$(DEPDIR)/env.Plo
	-rm -f ./$(DEPDIR)/extra_constraints.Plo
	-rm -f ./$(DEPDIR)/fd.Plo
	-rm -f ./$(DEPDIR)/fetch_config.Plo
	-rm -f ./$(DEPDIR)/forward.Plo
	-rm -f ./$(DEPDIR)/global_defaults.Plo
	-rm -f ./$(DEPDIR)/group_cache.Plo
	-rm -f ./$(DEPDIR)/half_duplex.Plo
	-rm -f ./$(DEPDIR)/hostlist.Plo
	-rm -f ./$(DEPDIR)/http.Plo
	-rm -f ./$(DEPDIR)/id_util.Plo
	-rm -f ./$(DEPDIR)/identity.Plo
	-rm -f ./$(DEPDIR)/io_hdr.Plo
	-rm -f ./$(DEPDIR)/job_features.Plo
	-rm -f ./$(DEPDIR)/job_options.Plo
	-rm -f ./$(DEPDIR)/job_record.Plo
	-rm -f ./$(DEPDIR)/job_resources.Plo
	-rm -f ./$(DEPDIR)/job_state_reason.Plo
	-rm -f ./$(DEPDIR)/list.Plo
	-rm -f ./$(DEPDIR)/log.Plo
	-rm -f ./$(DEPDIR)/msg_type.Plo
	-rm -f ./$(DEPDIR)/net.Plo
	-rm -f ./$(DEPDIR)/node_conf.Plo
	-rm -f ./$(DEPDIR)/node_features.Plo
	-rm -f ./$(DEPDIR)/oci_config.Plo
	-rm -f ./$(DEPDIR)/openapi.Plo
	-rm -f ./$(DEPDIR)/optz.Plo
	-rm -f ./$(DEPDIR)/pack.Plo
	-rm -f ./$(DEPDIR)/parse_config.Plo
	-rm -f ./$(DEPDIR)/parse_time.Plo
	-rm -f ./$(DEPDIR)/parse_value.Plo
	-rm -f ./$(DEPDIR)/part_record.Plo
	-rm -f ./$(DEPDIR)/persist_conn.Plo
	-rm -f ./$(DEPDIR)/plugin.Plo
	-rm -f ./$(DEPDIR)/plugrack.Plo
	-rm -f ./$(DEPDIR)/port_mgr.Plo
	-rm -f ./$(DEPDIR)/print_fields.Plo
	-rm -f ./$(DEPDIR)/proc_args.Plo
	-rm -f ./$(DEPDIR)/read_config.Plo
	-rm -f ./$(DEPDIR)/reverse_tree.Plo
	-rm -f ./$(DEPDIR)/run_command.Plo
	-rm -f ./$(DEPDIR)/run_in_daemon.Plo
	-rm -f ./$(DEPDIR)/sack_api.Plo
	-rm -f ./$(DEPDIR)/setproctitle.Plo
	-rm -f ./$(DEPDIR)/sluid.Plo
	-rm -f ./$(DEPDIR)/slurm_errno.Plo
	-rm -f ./$(DEPDIR)/slurm_opt.Plo
	-rm -f ./$(DEPDIR)/slurm_protocol_api.Plo
	-rm -f ./$(DEPDIR)/slurm_protocol_defs.Plo
	-rm -f ./$(DEPDIR)/slurm_protocol_pack.Plo
	-rm -f ./$(DEPDIR)/slurm_protocol_socket.Plo
	-rm -f ./$(DEPDIR)/slurm_protocol_util.Plo
	-rm -f ./$(DEPDIR)/slurm_resolv.Plo
	-rm -f ./$(DEPDIR)/slurm_resource_info.Plo
	-rm -f ./$(DEPDIR)/slurm_rlimits_info.Plo
	-rm -f ./$(DEPDIR)/slurm_step_layout.Plo
	-rm -f ./$(DEPDIR)/slurm_time.Plo
	-rm -f ./$(DEPDIR)/slurmdb_defs.Plo
	-rm -f ./$(DEPDIR)/slurmdb_pack.Plo
	-rm -f ./$(DEPDIR)/slurmdbd_defs.Plo
	-rm -f ./$(DEPDIR)/slurmdbd_pack.Plo
	-rm -f ./$(DEPDIR)/spank.Plo
	-rm -f ./$(DEPDIR)/state_save.Plo
	-rm -f ./$(DEPDIR)/stepd_api.Plo
	-rm -f ./$(DEPDIR)/stepd_proxy.Plo
	-rm -f ./$(DEPDIR)/strlcpy.Plo
	-rm -f ./$(DEPDIR)/strnatcmp.Plo
	-rm -f ./$(DEPDIR)/timers.Plo
	-rm -f ./$(DEPDIR)/track_script.Plo
	-rm -f ./$(DEPDIR)/tres_bind.Plo
	-rm -f ./$(DEPDIR)/tres_frequency.Plo
	-rm -f ./$(DEPDIR)/uid.Plo
	-rm -f ./$(DEPDIR)/util-net.Plo
	-rm -f ./$(DEPDIR)/working_cluster.Plo
	-rm -f ./$(DEPDIR)/write_labelled_message.Plo
	-rm -f ./$(DEPDIR)/x11_util.Plo
	-rm -f ./$(DEPDIR)/xahash.Plo
	-rm -f ./$(DEPDIR)/xassert.Plo
	-rm -f ./$(DEPDIR)/xhash.Plo
	-rm -f ./$(DEPDIR)/xmalloc.Plo
	-rm -f ./$(DEPDIR)/xrandom.Plo
	-rm -f ./$(DEPDIR)/xregex.Plo
	-rm -f ./$(DEPDIR)/xsched.Plo
	-rm -f ./$(DEPDIR)/xsignal.Plo
	-rm -f ./$(DEPDIR)/xstring.Plo
	-rm -f ./$(DEPDIR)/xsystemd.Plo
	-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
	distclean-tags

dvi: dvi-am

dvi-am:

html: html-am

html-am:

info: info-am

info-am:

install-data-am:

install-dvi: install-dvi-am

install-dvi-am:

install-exec-am:

install-html: install-html-am

install-html-am:

install-info: install-info-am

install-info-am:

install-man:

install-pdf: install-pdf-am

install-pdf-am:

install-ps: install-ps-am

install-ps-am:

installcheck-am:

maintainer-clean: maintainer-clean-am
	-rm -f ./$(DEPDIR)/assoc_mgr.Plo
	-rm -f ./$(DEPDIR)/bitstring.Plo
	-rm -f ./$(DEPDIR)/callerid.Plo
	-rm -f ./$(DEPDIR)/cbuf.Plo
	-rm -f ./$(DEPDIR)/core_array.Plo
	-rm -f ./$(DEPDIR)/cpu_frequency.Plo
	-rm -f ./$(DEPDIR)/cron.Plo
	-rm -f ./$(DEPDIR)/daemonize.Plo
	-rm -f ./$(DEPDIR)/data.Plo
	-rm -f ./$(DEPDIR)/eio.Plo
	-rm -f ./$(DEPDIR)/env.Plo
	-rm -f ./$(DEPDIR)/extra_constraints.Plo
	-rm -f ./$(DEPDIR)/fd.Plo
	-rm -f ./$(DEPDIR)/fetch_config.Plo
	-rm -f ./$(DEPDIR)/forward.Plo
	-rm -f ./$(DEPDIR)/global_defaults.Plo
	-rm -f ./$(DEPDIR)/group_cache.Plo
	-rm -f ./$(DEPDIR)/half_duplex.Plo
	-rm -f ./$(DEPDIR)/hostlist.Plo
	-rm -f ./$(DEPDIR)/http.Plo
	-rm -f ./$(DEPDIR)/id_util.Plo
	-rm -f ./$(DEPDIR)/identity.Plo
	-rm -f ./$(DEPDIR)/io_hdr.Plo
	-rm -f ./$(DEPDIR)/job_features.Plo
	-rm -f ./$(DEPDIR)/job_options.Plo
	-rm -f ./$(DEPDIR)/job_record.Plo
	-rm -f ./$(DEPDIR)/job_resources.Plo
	-rm -f ./$(DEPDIR)/job_state_reason.Plo
	-rm -f ./$(DEPDIR)/list.Plo
	-rm -f ./$(DEPDIR)/log.Plo
	-rm -f ./$(DEPDIR)/msg_type.Plo
	-rm -f ./$(DEPDIR)/net.Plo
	-rm -f ./$(DEPDIR)/node_conf.Plo
	-rm -f ./$(DEPDIR)/node_features.Plo
	-rm -f ./$(DEPDIR)/oci_config.Plo
	-rm -f ./$(DEPDIR)/openapi.Plo
	-rm -f ./$(DEPDIR)/optz.Plo
	-rm -f ./$(DEPDIR)/pack.Plo
	-rm -f ./$(DEPDIR)/parse_config.Plo
	-rm -f ./$(DEPDIR)/parse_time.Plo
	-rm -f ./$(DEPDIR)/parse_value.Plo
	-rm -f ./$(DEPDIR)/part_record.Plo
	-rm -f ./$(DEPDIR)/persist_conn.Plo
	-rm -f ./$(DEPDIR)/plugin.Plo
	-rm -f ./$(DEPDIR)/plugrack.Plo
	-rm -f ./$(DEPDIR)/port_mgr.Plo
	-rm -f ./$(DEPDIR)/print_fields.Plo
	-rm -f ./$(DEPDIR)/proc_args.Plo
	-rm -f ./$(DEPDIR)/read_config.Plo
	-rm -f ./$(DEPDIR)/reverse_tree.Plo
	-rm -f ./$(DEPDIR)/run_command.Plo
	-rm -f ./$(DEPDIR)/run_in_daemon.Plo
	-rm -f ./$(DEPDIR)/sack_api.Plo
	-rm -f ./$(DEPDIR)/setproctitle.Plo
	-rm -f ./$(DEPDIR)/sluid.Plo
	-rm -f ./$(DEPDIR)/slurm_errno.Plo
	-rm -f ./$(DEPDIR)/slurm_opt.Plo
	-rm -f ./$(DEPDIR)/slurm_protocol_api.Plo
	-rm -f ./$(DEPDIR)/slurm_protocol_defs.Plo
	-rm -f ./$(DEPDIR)/slurm_protocol_pack.Plo
	-rm -f ./$(DEPDIR)/slurm_protocol_socket.Plo
	-rm -f ./$(DEPDIR)/slurm_protocol_util.Plo
	-rm -f ./$(DEPDIR)/slurm_resolv.Plo
	-rm -f ./$(DEPDIR)/slurm_resource_info.Plo
	-rm -f ./$(DEPDIR)/slurm_rlimits_info.Plo
	-rm -f ./$(DEPDIR)/slurm_step_layout.Plo
	-rm -f ./$(DEPDIR)/slurm_time.Plo
	-rm -f ./$(DEPDIR)/slurmdb_defs.Plo
	-rm -f ./$(DEPDIR)/slurmdb_pack.Plo
	-rm -f ./$(DEPDIR)/slurmdbd_defs.Plo
	-rm -f ./$(DEPDIR)/slurmdbd_pack.Plo
	-rm -f ./$(DEPDIR)/spank.Plo
	-rm -f ./$(DEPDIR)/state_save.Plo
	-rm -f ./$(DEPDIR)/stepd_api.Plo
	-rm -f ./$(DEPDIR)/stepd_proxy.Plo
	-rm -f ./$(DEPDIR)/strlcpy.Plo
	-rm -f ./$(DEPDIR)/strnatcmp.Plo
	-rm -f ./$(DEPDIR)/timers.Plo
	-rm -f ./$(DEPDIR)/track_script.Plo
	-rm -f ./$(DEPDIR)/tres_bind.Plo
	-rm -f ./$(DEPDIR)/tres_frequency.Plo
	-rm -f ./$(DEPDIR)/uid.Plo
	-rm -f ./$(DEPDIR)/util-net.Plo
	-rm -f ./$(DEPDIR)/working_cluster.Plo
	-rm -f ./$(DEPDIR)/write_labelled_message.Plo
	-rm -f ./$(DEPDIR)/x11_util.Plo
	-rm -f ./$(DEPDIR)/xahash.Plo
	-rm -f ./$(DEPDIR)/xassert.Plo
	-rm -f ./$(DEPDIR)/xhash.Plo
	-rm -f ./$(DEPDIR)/xmalloc.Plo
	-rm -f ./$(DEPDIR)/xrandom.Plo
	-rm -f ./$(DEPDIR)/xregex.Plo
	-rm -f ./$(DEPDIR)/xsched.Plo
	-rm -f ./$(DEPDIR)/xsignal.Plo
	-rm -f ./$(DEPDIR)/xstring.Plo
	-rm -f ./$(DEPDIR)/xsystemd.Plo
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-compile mostlyclean-generic \
	mostlyclean-libtool

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am:

.MAKE: install-am install-strip

.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
	clean-generic clean-libtool clean-noinstLTLIBRARIES \
	clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \
	distclean-compile distclean-generic distclean-libtool \
	distclean-tags 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-pdf install-pdf-am install-ps install-ps-am \
	install-strip installcheck installcheck-am installdirs \
	maintainer-clean maintainer-clean-generic mostlyclean \
	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am

.PRECIOUS: Makefile

libcommon.o$(EXEEXT) :  $(libcommon_la_OBJECTS) $(libcommon_la_DEPENDENCIES)
	$(LINK)  $(libcommon_la_OBJECTS)

global_defaults.c : $(top_builddir)/config.h Makefile
	@( echo "/* This file autogenerated by src/common/Makefile */"; \
	   echo	"char *default_plugin_path = \"$(pkglibdir)\";"; \
	   echo \
	   "char *default_slurm_config_file = \"$(sysconfdir)/slurm.conf\";"; \
	 ) > global_defaults.c

force:
$(libcommon_la_LIBADD) : force
	@cd `dirname $@` && $(MAKE) `basename $@`

# 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:

# Tell GNU make to disable its built-in pattern rules.
%:: %,v
%:: RCS/%,v
%:: RCS/%
%:: s.%
%:: SCCS/s.%
