<commit_before>#################################################################################
#
#			    paths.mk
#
# 	This file defines Make variables for standard directories
#	and file lists
#
#################################################################################


#-----------------------------------------------------------------
#
# Installation setup
#

#-----------------------------------------------------------------------------
# install configuration
#
# The install standard target is guided by the following four variables
#
#  INSTALL_PROGS    (installed in $(bindir))
#  INSTALL_LIBS     (installed in $(libdir))
#  INSTALL_LIBEXECS (installed in $(libexecdir))
#  INSTALL_DATAS    (installed in $(datadir))
#
# see target.mk for more information.
#

#
# Setting user/group ownership for the installed entities
#
# this stuff about "who" does the installing doesn't have make vars
# as it is not intended to be run-time changeable.
#
ifneq "$(OWNER)" ""
INSTALL_OWNER 	= -o $(OWNER)
else
INSTALL_OWNER	=
endif

ifneq "$(GROUP)" ""
INSTALL_GROUP	= -g $(GROUP)
else
INSTALL_GROUP	=
endif

SRC_INSTALL_OPTS += $(INSTALL_OWNER) $(INSTALL_GROUP)

#
# Invocations of `install' for the three different classes
# of targets:
#

INSTALL_PROGRAM = $(INSTALL) -m 755
INSTALL_SCRIPT  = $(INSTALL) -m 755
INSTALL_DATA    = $(INSTALL) -m 644
INSTALL_DIR     = $(FPTOOLS_TOP)/glafp-utils/mkdirhier/mkdirhier

#
# The install variables does not have any defaults,
# what files to install have to be specified in the Makefiles.
# 
#INSTALL_PROGS += $(HS_PROG) $(C_PROG)
#INSTALL_LIBS  += $(LIBRARY)
#INSTALL_DATAS += $(HS_IFACES)

#################################################################################
#
#		Standard variable names
#
#################################################################################

#
# The fptools mk setup defines a set of standard names which are used by the standard
# targets provided by mk. One example of this is the use of standard names
# for specifying what files to compile, their intermediate/object code, and
# the name of the final executable. Based on the settings of these variables, the
# standard targets will generate/expand rules that automatically compile and
# link your program.
#
# The general rules:
#   
#   SRCS - sources, might be prefixed to indicate what type of source
#          they are.
#   OBJS - object files (possibly prefixed).
#
#   PROG - name of final executable

# We attempt to automatically devine the list of sources $(SRCS) to
# compile by looking in the current directory.  This is complicated by
# the fact that a .hsc file gives rise to a .hs file (which needs to
# be automatically included in $(SRCS)), but the .hs file might
# already be present in the current directory and we don't want to
# compile it twice.

# So we figure out the sources in three stages: first figure out
# what's in the current directory (this is $(PRE_SRCS)).  Then figure
# out all the "derived" sources (eg. A.hsc generates A.hs and
# A_hsc.c), and finally put all these together and remove duplicates
# (GNU make's handy sort function does the duplicate removing).
#
# BOOT_SRCS: list of machine generated Haskell modules.
# HS_SRCS:   list of Haskell modules you want to compile.
#             (also use by depend rule).
# HS_OBJS:   list of corresponding object files
# HS_PROG:   program that is ultimately linked.
# HS_IFACES: list of interface files generated
#             (caveat: assuming no funny use of -hisuf and that
#               file name and module name match)

PRE_SRCS    = $(wildcard *.lhs *.hs *.c *.prl *.lprl *.lit *.verb *.hsc)

HSC_SRCS     = $(filter %.hsc, $(PRE_SRCS))
DERIVED_SRCS = $(patsubst %.hsc, %.hs, $(HSC_SRCS)) \
	       $(patsubst %.hsc, %_hsc.c, $(HSC_SRCS)) \
	       $(patsubst %.hsc, %_hsc.h, $(HSC_SRCS))

# EXCLUDED_SRCS can be set in the Makefile, otherwise it defaults to empty.
EXCLUDED_HSC_SRCS     = $(filter %.hsc, $(EXCLUDED_SRCS))
EXCLUDED_DERIVED_SRCS = $(patsubst %.hsc, %.hs, $(EXCLUDED_HSC_SRCS)) \
			$(patsubst %.hsc, %_hsc.h, $(EXCLUDED_HSC_SRCS)) \
			$(patsubst %.hsc, %_hsc.c, $(EXCLUDED_HSC_SRCS))

CLOSED_EXCLUDED_SRCS  = $(sort $(EXCLUDED_SRCS) $(EXCLUDED_DERIVED_SRCS))

SRCS        = $(filter-out $(CLOSED_EXCLUDED_SRCS), \
	        $(sort $(PRE_SRCS) $(DERIVED_SRCS)))

HS_SRCS	    = $(filter %.lhs %.hs %.hc,$(sort $(SRCS) $(BOOT_SRCS)))
HS_OBJS     = $(addsuffix .$(way_)o,$(basename $(HS_SRCS)))
HS_HCS      = $(addsuffix .$(way_)hc,$(basename $(HS_SRCS)))
HS_SS       = $(addsuffix .$(way_)s,$(basename $(HS_SRCS)))
HS_IFACES   = $(addsuffix .$(way_)hi,$(basename $(HS_SRCS)))

HSC_C_OBJS  = $(patsubst %.hsc, %_hsc.o, $(HSC_SRCS))

C_SRCS      = $(filter %.c,$(SRCS)) 
C_OBJS      = $(addsuffix .$(way_)o,$(basename $(C_SRCS)))

# SCRIPT_SRCS:  list of raw script files (in literate form)
# SCRIPT_OBJS:  de-litted scripts
SCRIPT_SRCS=$(filter %.lprl,$(SRCS))
SCRIPT_OBJS=$(addsuffix .prl,$(basename $(SCRIPT_SRCS)))

OBJS=$(HS_OBJS) $(C_OBJS) $(SCRIPT_OBJS)

#
# Note that as long as you use the standard variables for setting<commit_msg>[project @ 2001-06-06 14:41:45 by simonmar] yet more wibbles<commit_after>#################################################################################
#
#			    paths.mk
#
# 	This file defines Make variables for standard directories
#	and file lists
#
#################################################################################


#-----------------------------------------------------------------
#
# Installation setup
#

#-----------------------------------------------------------------------------
# install configuration
#
# The install standard target is guided by the following four variables
#
#  INSTALL_PROGS    (installed in $(bindir))
#  INSTALL_LIBS     (installed in $(libdir))
#  INSTALL_LIBEXECS (installed in $(libexecdir))
#  INSTALL_DATAS    (installed in $(datadir))
#
# see target.mk for more information.
#

#
# Setting user/group ownership for the installed entities
#
# this stuff about "who" does the installing doesn't have make vars
# as it is not intended to be run-time changeable.
#
ifneq "$(OWNER)" ""
INSTALL_OWNER 	= -o $(OWNER)
else
INSTALL_OWNER	=
endif

ifneq "$(GROUP)" ""
INSTALL_GROUP	= -g $(GROUP)
else
INSTALL_GROUP	=
endif

SRC_INSTALL_OPTS += $(INSTALL_OWNER) $(INSTALL_GROUP)

#
# Invocations of `install' for the three different classes
# of targets:
#

INSTALL_PROGRAM = $(INSTALL) -m 755
INSTALL_SCRIPT  = $(INSTALL) -m 755
INSTALL_DATA    = $(INSTALL) -m 644
INSTALL_DIR     = $(FPTOOLS_TOP)/glafp-utils/mkdirhier/mkdirhier

#
# The install variables does not have any defaults,
# what files to install have to be specified in the Makefiles.
# 
#INSTALL_PROGS += $(HS_PROG) $(C_PROG)
#INSTALL_LIBS  += $(LIBRARY)
#INSTALL_DATAS += $(HS_IFACES)

#################################################################################
#
#		Standard variable names
#
#################################################################################

#
# The fptools mk setup defines a set of standard names which are used by the standard
# targets provided by mk. One example of this is the use of standard names
# for specifying what files to compile, their intermediate/object code, and
# the name of the final executable. Based on the settings of these variables, the
# standard targets will generate/expand rules that automatically compile and
# link your program.
#
# The general rules:
#   
#   SRCS - sources, might be prefixed to indicate what type of source
#          they are.
#   OBJS - object files (possibly prefixed).
#
#   PROG - name of final executable

# We attempt to automatically devine the list of sources $(SRCS) to
# compile by looking in the current directory.  This is complicated by
# the fact that a .hsc file gives rise to a .hs file (which needs to
# be automatically included in $(SRCS)), but the .hs file might
# already be present in the current directory and we don't want to
# compile it twice.

# So we figure out the sources in three stages: first figure out
# what's in the current directory (this is $(PRE_SRCS)).  Then figure
# out all the "derived" sources (eg. A.hsc generates A.hs and
# A_hsc.c), and finally put all these together and remove duplicates
# (GNU make's handy sort function does the duplicate removing).
#
# BOOT_SRCS: list of machine generated Haskell modules.
# HS_SRCS:   list of Haskell modules you want to compile.
#             (also use by depend rule).
# HS_OBJS:   list of corresponding object files
# HS_PROG:   program that is ultimately linked.
# HS_IFACES: list of interface files generated
#             (caveat: assuming no funny use of -hisuf and that
#               file name and module name match)

PRE_SRCS    = $(wildcard *.lhs *.hs *.c *.prl *.lprl *.lit *.verb *.hsc)

HSC_SRCS     = $(filter %.hsc, $(PRE_SRCS))
DERIVED_SRCS = $(patsubst %.hsc, %.hs, $(HSC_SRCS)) \
	       $(patsubst %.hsc, %_hsc.c, $(HSC_SRCS)) \
	       $(patsubst %.hsc, %_hsc.h, $(HSC_SRCS))

# EXCLUDED_SRCS can be set in the Makefile, otherwise it defaults to empty.
EXCLUDED_HSC_SRCS     = $(filter %.hsc, $(EXCLUDED_SRCS))
EXCLUDED_DERIVED_SRCS = $(patsubst %.hsc, %.hs, $(EXCLUDED_HSC_SRCS)) \
			$(patsubst %.hsc, %_hsc.h, $(EXCLUDED_HSC_SRCS)) \
			$(patsubst %.hsc, %_hsc.c, $(EXCLUDED_HSC_SRCS))

CLOSED_EXCLUDED_SRCS  = $(sort $(EXCLUDED_SRCS) $(EXCLUDED_DERIVED_SRCS))

SRCS        = $(filter-out $(CLOSED_EXCLUDED_SRCS), \
	        $(sort $(PRE_SRCS) $(DERIVED_SRCS)))

HS_SRCS	    = $(filter %.lhs %.hs %.hc,$(sort $(SRCS) $(BOOT_SRCS)))
HS_OBJS     = $(addsuffix .$(way_)o,$(basename $(HS_SRCS)))
HS_HCS      = $(addsuffix .$(way_)hc,$(basename $(HS_SRCS)))
HS_SS       = $(addsuffix .$(way_)s,$(basename $(HS_SRCS)))
HS_IFACES   = $(addsuffix .$(way_)hi,$(basename $(HS_SRCS)))

HSC_C_OBJS  = $(patsubst %.hsc, %_hsc.o, $(filter %.hsc, $(SRCS)))

C_SRCS      = $(filter %.c,$(SRCS)) 
C_OBJS      = $(addsuffix .$(way_)o,$(basename $(C_SRCS)))

# SCRIPT_SRCS:  list of raw script files (in literate form)
# SCRIPT_OBJS:  de-litted scripts
SCRIPT_SRCS=$(filter %.lprl,$(SRCS))
SCRIPT_OBJS=$(addsuffix .prl,$(basename $(SCRIPT_SRCS)))

OBJS=$(HS_OBJS) $(C_OBJS) $(SCRIPT_OBJS)

#
# Note that as long as you use the standard variables for setting
{'fraction_non_alphanumeric': 0.2023971935295264, 'fraction_numerical': 0.0031183005262132137, 'mean_word_length': 3.6734972677595628, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '2164279', 'n_tokens_mistral': 3468, 'n_tokens_neox': 3250, 'n_words': 1088}