<commit_before>## ---------------------- ##
## List of used symbols.  ##
## ---------------------- ##

precompiled_symbols_hh = object/precompiled-symbols.hh
precompiled_symbols_stamp = $(precompiled_symbols_hh:.hh=.stamp)
# filter-out generated files, and precompiled_symbols_hh itself to
# avoid circular dependencies.
precompiled_symbols_hh_sources =		\
  parser/utoken.l				\
  parser/ugrammar.y				\
  $(filter-out $(precompiled_symbols_hh)	\
               $(FROM_UGRAMMAR_Y)		\
               $(FROM_UTOKEN_L),		\
        $(dist_libuobject_la_SOURCES))
EXTRA_DIST += object/symbols-generate.pl $(precompiled_symbols_stamp)

$(precompiled_symbols_stamp): object/symbols-generate.pl $(precompiled_symbols_hh_sources)
	@rm -f $@.tmp
	@echo "rebuilding $(precompiled_symbols_hh) because of:"
	@for i in $?;				\
	do					\
	  echo "       $$i";			\
	done
	@touch $@.tmp
# Don't use `mv' here so that even if we are interrupted, the file
# is still available for diff in the next run.
	if test -f $(srcdir)/$(precompiled_symbols_hh); then	\
	  cat $(srcdir)/$(precompiled_symbols_hh);		\
	fi >$(precompiled_symbols_hh)~
	(cd $(srcdir) &&				\
	 ./object/symbols-generate.pl			\
		$(precompiled_symbols_hh_sources))	\
		>$(precompiled_symbols_hh).tmp
	diff -u $(precompiled_symbols_hh)~ $(precompiled_symbols_hh).tmp || true
	$(top_srcdir)/build-aux/move-if-change \
	  $(precompiled_symbols_hh).tmp $(srcdir)/$(precompiled_symbols_hh)
	@mv -f $@.tmp $(srcdir)/$@

$(precompiled_symbols_hh): $(precompiled_symbols_stamp)
	@if test ! -f $@; then					\
	  rm -f $(precompiled_symbols_stamp);			\
	  $(MAKE) $(AM_MAKEFLAGS) $(precompiled_symbols_stamp);	\
	fi
BUILT_SOURCES += $(precompiled_symbols_hh)

## ------------------------ ##
## Generated source files.  ##
## ------------------------ ##

FROM_PY =					\
  object/any-to-boost-function.hxx		\
  object/cxx-primitive.hxx			\
  object/executable.hh

BUILT_SOURCES += $(FROM_PY)
CLEANFILES += $(FROM_PY)
nodist_libuobject_la_SOURCES += $(FROM_PY)
EXTRA_DIST += $(FROM_PY:=.py)

%.hxx: %.hxx.py
	rm -f $@ $@.tmp
	$< > $@.tmp
	chmod a-w $@.tmp
	mv $@.tmp $@

%.hh: %.hh.py
	rm -f $@ $@.tmp
	$< > $@.tmp
	chmod a-w $@.tmp
	mv $@.tmp $@

## ----------------- ##
## Regular sources.  ##
## ----------------- ##

dist_libuobject_la_SOURCES +=			\
  object/any-to-boost-function.hh		\
  object/barrier.cc				\
  object/barrier.hh				\
  object/centralized-slots.hh			\
  object/centralized-slots.hxx			\
  object/centralized-slots.cc			\
  object/code.cc				\
  object/code.hh				\
  object/cxx-conversions.hh			\
  object/cxx-conversions.hxx			\
  object/cxx-helper.hh				\
  object/cxx-object.cc				\
  object/cxx-object.hh				\
  object/cxx-object.hxx				\
  object/cxx-primitive.hh			\
  object/dictionary.cc				\
  object/dictionary.hh				\
  object/directory.cc				\
  object/directory.hh				\
  object/executable.hh				\
  object/executable.cc				\
  object/file.cc				\
  object/file.hh				\
  object/float.cc				\
  object/float.hh				\
  object/fwd.hh					\
  object/global.cc				\
  object/global.hh				\
  object/hash-slots.hh				\
  object/hash-slots.hxx				\
  object/list.cc				\<commit_msg>build: fix built-sources.<commit_after>## ---------------------- ##
## List of used symbols.  ##
## ---------------------- ##

precompiled_symbols_hh = object/precompiled-symbols.hh
precompiled_symbols_stamp = $(precompiled_symbols_hh:.hh=.stamp)
# filter-out generated files, and precompiled_symbols_hh itself to
# avoid circular dependencies.
precompiled_symbols_hh_sources =		\
  parser/utoken.l				\
  parser/ugrammar.y				\
  $(filter-out $(precompiled_symbols_hh)	\
               $(FROM_UGRAMMAR_Y)		\
               $(FROM_UTOKEN_L),		\
        $(dist_libuobject_la_SOURCES))
EXTRA_DIST += object/symbols-generate.pl $(precompiled_symbols_stamp)

$(precompiled_symbols_stamp): object/symbols-generate.pl $(precompiled_symbols_hh_sources)
	@rm -f $@.tmp
	@echo "rebuilding $(precompiled_symbols_hh) because of:"
	@for i in $?;				\
	do					\
	  echo "       $$i";			\
	done
	@touch $@.tmp
# Don't use `mv' here so that even if we are interrupted, the file
# is still available for diff in the next run.
	if test -f $(srcdir)/$(precompiled_symbols_hh); then	\
	  cat $(srcdir)/$(precompiled_symbols_hh);		\
	fi >$(precompiled_symbols_hh)~
	(cd $(srcdir) &&				\
	 ./object/symbols-generate.pl			\
		$(precompiled_symbols_hh_sources))	\
		>$(precompiled_symbols_hh).tmp
	diff -u $(precompiled_symbols_hh)~ $(precompiled_symbols_hh).tmp || true
	$(top_srcdir)/build-aux/move-if-change \
	  $(precompiled_symbols_hh).tmp $(srcdir)/$(precompiled_symbols_hh)
	@mv -f $@.tmp $(srcdir)/$@

$(precompiled_symbols_hh): $(precompiled_symbols_stamp)
	@if test ! -f $@; then					\
	  rm -f $(precompiled_symbols_stamp);			\
	  $(MAKE) $(AM_MAKEFLAGS) $(precompiled_symbols_stamp);	\
	fi
BUILT_SOURCES += $(precompiled_symbols_hh)

## ------------------------ ##
## Generated source files.  ##
## ------------------------ ##

FROM_PY =					\
  object/any-to-boost-function.hxx		\
  object/cxx-primitive.hxx			\
  object/executable.hh

BUILT_SOURCES += $(FROM_PY)
CLEANFILES += $(FROM_PY)
nodist_libuobject_la_SOURCES += $(FROM_PY)
EXTRA_DIST += $(FROM_PY:=.py)

%.hxx: %.hxx.py
	rm -f $@ $@.tmp
	$< > $@.tmp
	chmod a-w $@.tmp
	mv $@.tmp $@

%.hh: %.hh.py
	rm -f $@ $@.tmp
	$< > $@.tmp
	chmod a-w $@.tmp
	mv $@.tmp $@

## ----------------- ##
## Regular sources.  ##
## ----------------- ##

dist_libuobject_la_SOURCES +=			\
  object/any-to-boost-function.hh		\
  object/barrier.cc				\
  object/barrier.hh				\
  object/centralized-slots.hh			\
  object/centralized-slots.hxx			\
  object/centralized-slots.cc			\
  object/code.cc				\
  object/code.hh				\
  object/cxx-conversions.hh			\
  object/cxx-conversions.hxx			\
  object/cxx-helper.hh				\
  object/cxx-object.cc				\
  object/cxx-object.hh				\
  object/cxx-object.hxx				\
  object/cxx-primitive.hh			\
  object/dictionary.cc				\
  object/dictionary.hh				\
  object/directory.cc				\
  object/directory.hh				\
  object/executable.cc				\
  object/file.cc				\
  object/file.hh				\
  object/float.cc				\
  object/float.hh				\
  object/fwd.hh					\
  object/global.cc				\
  object/global.hh				\
  object/hash-slots.hh				\
  object/hash-slots.hxx				\
  object/list.cc				\
{'fraction_non_alphanumeric': 0.18861323155216286, 'fraction_numerical': 0.0, 'mean_word_length': 2.42724795640327, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '615794', 'n_tokens_mistral': 2773, 'n_tokens_neox': 2477, 'n_words': 369}