2007-02-07 19:40:22 +00:00
i n c l u d e b u i l d . p r o p e r t i e s
2003-10-27 08:52:46 +00:00
2011-03-05 00:55:48 +00:00
TAR = tar
2011-09-06 19:28:05 +00:00
PKG_PATH = it/unimi/dsi/fastutil
SOURCEDIR = src/$( PKG_PATH)
GEN_SRCDIR ?= src
export GEN_SRCDIR
2003-10-28 09:20:49 +00:00
DOCSDIR = docs
2003-10-27 08:52:46 +00:00
2021-01-06 14:21:23 +00:00
SMALL_TYPES ?= $( if $( MINIMAL_TYPES) ,,1)
IO_TYPES ?= $( if $( MINIMAL_TYPES) ,,1)
2017-07-26 17:15:58 +00:00
2006-03-22 00:05:00 +00:00
APIURL = http://java.sun.com/j2se/5.0/docs/api # External URLs in the docs will point here
2003-10-27 08:52:46 +00:00
2003-10-28 09:20:49 +00:00
.SUFFIXES : .java .j
2003-10-27 08:52:46 +00:00
2011-09-06 19:28:05 +00:00
.PHONY : all clean depend install docs jar tar jsources csources dirs
2003-10-27 08:52:46 +00:00
2003-10-28 09:20:49 +00:00
.SECONDARY : $( JSOURCES )
2003-10-27 08:52:46 +00:00
2003-10-31 22:16:17 +00:00
# The capitalized types used to build class and method names; boolean and object types are not listed.
2017-07-26 17:15:58 +00:00
TYPE_NOBOOL_NOOBJ = $( if $( SMALL_TYPES) ,Byte Short Char Float,) Int Long Double
2003-10-27 08:52:46 +00:00
2003-10-31 22:16:17 +00:00
# The capitalized types used to build class and method names; boolean and reference are not listed.
2003-10-28 09:20:49 +00:00
TYPE_NOBOOL_NOREF = $( TYPE_NOBOOL_NOOBJ) Object
2003-10-27 08:52:46 +00:00
2003-10-31 22:16:17 +00:00
# The capitalized types used to build class and method names; object types are not listed.
2017-07-26 17:15:58 +00:00
TYPE_NOOBJ = $( if $( SMALL_TYPES) ,Boolean,) $( TYPE_NOBOOL_NOOBJ)
2003-10-27 08:52:46 +00:00
2003-10-31 22:16:17 +00:00
# The capitalized types used to build class and method names; references are not listed.
2003-10-28 09:20:49 +00:00
TYPE_NOREF = $( TYPE_NOOBJ) Object
2003-10-27 08:52:46 +00:00
2003-10-31 22:16:17 +00:00
# The capitalized types used to build class and method names; boolean is not listed.
2003-10-28 14:02:24 +00:00
TYPE_NOBOOL = $( TYPE_NOBOOL_NOREF) Reference
2003-10-31 22:16:17 +00:00
# The capitalized types used to build class and method names; now references appear as Reference.
2003-10-28 09:20:49 +00:00
TYPE = $( TYPE_NOREF) Reference
2003-10-27 08:52:46 +00:00
2010-11-21 17:09:33 +00:00
# The capitalized types used to build class and method names; only types for which big structures are built are listed.
2017-07-26 17:15:58 +00:00
TYPE_BIG = Int Long $( if $( SMALL_TYPES) ,Float,) Double Object Reference
2010-11-21 17:09:33 +00:00
2021-01-03 12:22:26 +00:00
# The capitalized types used to build functions (even in the case of NO_SMALL_TYPES)
TYPE_ALL = Boolean Byte Short Char Float Int Long Double Object Reference
# The capitalized types used to build fragments (even in the case of NO_SMALL_TYPES)
TYPE_NOOBJ_ALL = Boolean Byte Short Char Float Int Long Double
# All capitalized types except Reference (even in the case of NO_SMALL_TYPES)
TYPE_NOREF_ALL = Boolean Byte Short Char Float Int Long Double Object
2010-11-21 17:09:33 +00:00
2003-10-31 22:16:17 +00:00
# These variables are used as an associative array (using computed names).
2003-10-28 09:20:49 +00:00
PACKAGE_Boolean = booleans
PACKAGE_Byte = bytes
PACKAGE_Short = shorts
PACKAGE_Int = ints
PACKAGE_Long = longs
PACKAGE_Char = chars
PACKAGE_Float = floats
PACKAGE_Double = doubles
PACKAGE_Object = objects
PACKAGE_Reference = objects
2003-10-27 08:52:46 +00:00
2003-10-30 00:06:34 +00:00
explain :
2017-05-20 11:52:36 +00:00
@echo "\nTo build fastutil, you must first use \"make sources\""
@echo "to obtain the actual Java files. Then, you can build the jar"
@echo "file using \"ant jar\", or the documentation using \"ant javadoc\".\n"
@echo "If you set the make variable TEST (e.g., make sources TEST=1), you"
@echo "will compile behavioral and speed tests into the classes.\n"
2017-11-21 23:30:35 +00:00
@echo "If you set the make variable ASSERTS (e.g., make sources ASSERTS=1),"
@echo "you will compile assertions into the classes.\n"
2021-01-06 14:21:23 +00:00
@echo "If you set the make variable MINIMAL_TYPES (e.g.,"
@echo "make sources MINIMAL_TYPES=1), you will only generate classes "
@echo "involving ints, longs and doubles (and some necessary utility)."
2017-11-21 23:30:35 +00:00
@echo "Note that in this case some tests will not compile."
2003-10-30 00:06:34 +00:00
2021-03-21 23:18:18 +00:00
source :
2007-02-07 19:40:22 +00:00
-rm -f fastutil-$( version)
ln -s . fastutil-$( version)
2011-03-05 00:55:48 +00:00
$( TAR) zcvf fastutil-$( version) -src.tar.gz --owner= 0 --group= 0 \
2010-11-21 02:53:37 +00:00
fastutil-$( version) /drv/*.drv \
2007-02-07 19:40:22 +00:00
fastutil-$( version) /build.xml \
2021-03-12 15:09:50 +00:00
fastutil-$( version) /split.sh \
2021-03-21 23:18:18 +00:00
fastutil-$( version) /fastutil-core.bnd \
2021-08-04 12:59:33 +00:00
fastutil-$( version) /fastutil.bnd \
2021-03-21 22:43:13 +00:00
fastutil-$( version) /pom-core-model.xml \
2021-08-04 12:59:33 +00:00
fastutil-$( version) /pom-model.xml \
2007-02-07 19:40:22 +00:00
fastutil-$( version) /build.properties \
fastutil-$( version) /gencsource.sh \
2018-05-28 13:37:45 +00:00
fastutil-$( version) /find-deps.sh \
2007-02-07 19:40:22 +00:00
fastutil-$( version) /CHANGES \
2015-05-21 13:46:21 +00:00
fastutil-$( version) /README.md \
2010-11-18 20:43:04 +00:00
fastutil-$( version) /LICENSE-2.0 \
2007-02-07 19:40:22 +00:00
fastutil-$( version) /makefile \
$( foreach f, $( SOURCES) , fastutil-$( version) /$( f) ) \
2020-11-15 10:26:17 +00:00
fastutil-$( version) /$( SOURCEDIR) /{ boolean,byte,char,short,int,long,float,double,object} s/package-info.java \
fastutil-$( version) /$( SOURCEDIR) /io/package-info.java \
2011-09-02 17:32:37 +00:00
fastutil-$( version) /src/overview.html \
2011-09-02 17:35:14 +00:00
$$ ( find fastutil-$( version) /test -iname \* .java)
2007-02-07 19:40:22 +00:00
rm fastutil-$( version)
2003-10-30 00:06:34 +00:00
2011-09-27 08:13:39 +00:00
binary :
2016-04-07 13:51:05 +00:00
make -s clean sources format
2022-10-02 09:37:54 +00:00
ant clean junit
2021-08-04 12:59:33 +00:00
ant clean osgi javadoc
2007-02-07 19:40:22 +00:00
-rm -f fastutil-$( version)
ln -s . fastutil-$( version)
2015-01-13 17:57:51 +00:00
cp dist/lib/fastutil-$( version) .jar .
2011-03-05 00:55:48 +00:00
$( TAR) zcvf fastutil-$( version) -bin.tar.gz --owner= 0 --group= 0 \
2007-02-07 19:40:22 +00:00
fastutil-$( version) /CHANGES \
2015-05-21 13:46:21 +00:00
fastutil-$( version) /README.md \
2010-11-20 01:33:41 +00:00
fastutil-$( version) /LICENSE-2.0 \
2007-02-07 19:40:22 +00:00
fastutil-$( version) /docs \
fastutil-$( version) /fastutil-$( version) .jar
rm fastutil-$( version)
2003-10-30 00:06:34 +00:00
2017-06-12 16:09:22 +00:00
ECLIPSE = /usr/bin/eclipse
2015-03-18 15:29:49 +00:00
format :
2021-03-13 23:12:50 +00:00
$( ECLIPSE) -data workspace -nosplash -application org.eclipse.jdt.core.JavaCodeFormatter -verbose -config $( CURDIR) /.settings/org.eclipse.jdt.core.prefs $( CURDIR) /src/it/unimi/dsi/fastutil/BigArrays.java $( CURDIR) /src/it/unimi/dsi/fastutil/{ booleans,bytes,shorts,chars,ints,floats,longs,doubles,objects}
2015-03-18 15:29:49 +00:00
2021-03-12 15:09:50 +00:00
stage :
./split.sh
2021-08-04 12:59:33 +00:00
( unset LOCAL_IVY_SETTINGS; ant stage-all)
2012-11-27 20:11:53 +00:00
2011-09-06 19:28:05 +00:00
dirs :
mkdir -p $( GEN_SRCDIR) /$( PKG_PATH)
mkdir -p $( GEN_SRCDIR) /$( PKG_PATH) /io
mkdir -p $( foreach k, $( sort $( TYPE) ) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) )
2003-10-27 08:52:46 +00:00
2003-10-28 09:20:49 +00:00
#
# Interfaces
#
2003-10-27 08:52:46 +00:00
2021-01-06 14:21:23 +00:00
ITERABLES := $( foreach k,$( TYPE_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) Iterable.c)
2010-11-21 02:53:37 +00:00
$(ITERABLES) : drv /Iterable .drv ; ./gencsource .sh $< $@ >$@
2008-04-01 22:56:41 +00:00
CSOURCES += $( ITERABLES)
2021-01-06 14:21:23 +00:00
BIDIRECTIONAL_ITERABLES := $( foreach k,$( TYPE_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) BidirectionalIterable.c)
2017-05-20 11:52:36 +00:00
$(BIDIRECTIONAL_ITERABLES) : drv /BidirectionalIterable .drv ; ./gencsource .sh $< $@ >$@
CSOURCES += $( BIDIRECTIONAL_ITERABLES)
2011-09-06 19:28:05 +00:00
COLLECTIONS := $( foreach k,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) Collection.c)
2010-11-21 02:53:37 +00:00
$(COLLECTIONS) : drv /Collection .drv ; ./gencsource .sh $< $@ >$@
2003-10-27 08:52:46 +00:00
2003-10-28 09:20:49 +00:00
CSOURCES += $( COLLECTIONS)
2003-10-27 08:52:46 +00:00
2011-09-06 19:28:05 +00:00
SETS := $( foreach k,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) Set.c)
2010-11-21 02:53:37 +00:00
$(SETS) : drv /Set .drv ; ./gencsource .sh $< $@ >$@
2003-10-27 08:52:46 +00:00
2003-10-28 09:20:49 +00:00
CSOURCES += $( SETS)
2003-10-27 08:52:46 +00:00
2011-09-06 19:28:05 +00:00
HASHES := $( foreach k,$( TYPE_NOOBJ) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) Hash.c)
2011-03-15 11:42:27 +00:00
$(HASHES) : drv /Hash .drv ; ./gencsource .sh $< $@ >$@
CSOURCES += $( HASHES)
2011-09-06 19:28:05 +00:00
SORTED_SETS := $( foreach k,$( TYPE_NOBOOL) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) SortedSet.c)
2010-11-21 02:53:37 +00:00
$(SORTED_SETS) : drv /SortedSet .drv ; ./gencsource .sh $< $@ >$@
2003-10-27 08:52:46 +00:00
2003-10-28 09:20:49 +00:00
CSOURCES += $( SORTED_SETS)
2021-01-03 12:22:26 +00:00
FUNCTIONS := $( foreach k,$( TYPE_ALL) , $( foreach v,$( TYPE_ALL) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) 2$( v) Function.c) )
2010-11-21 02:53:37 +00:00
$(FUNCTIONS) : drv /Function .drv ; ./gencsource .sh $< $@ >$@
2008-01-18 20:07:34 +00:00
CSOURCES += $( FUNCTIONS)
2011-09-06 19:28:05 +00:00
MAPS := $( foreach k,$( TYPE_NOBOOL) , $( foreach v,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) 2$( v) Map.c) )
2010-11-21 02:53:37 +00:00
$(MAPS) : drv /Map .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( MAPS)
2011-09-06 19:28:05 +00:00
SORTED_MAPS := $( foreach k,$( TYPE_NOBOOL) , $( foreach v,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) 2$( v) SortedMap.c) )
2010-11-21 02:53:37 +00:00
$(SORTED_MAPS) : drv /SortedMap .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( SORTED_MAPS)
2011-09-06 19:28:05 +00:00
LISTS := $( foreach k,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) List.c)
2010-11-21 02:53:37 +00:00
$(LISTS) : drv /List .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( LISTS)
2011-09-06 19:28:05 +00:00
STACKS := $( foreach k,$( TYPE_NOOBJ) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) Stack.c)
2010-11-21 02:53:37 +00:00
$(STACKS) : drv /Stack .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( STACKS)
2011-09-06 19:28:05 +00:00
PRIORITY_QUEUES := $( foreach k,$( TYPE_NOBOOL_NOOBJ) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) PriorityQueue.c)
2010-11-21 02:53:37 +00:00
$(PRIORITY_QUEUES) : drv /PriorityQueue .drv ; ./gencsource .sh $< $@ >$@
2003-12-16 19:27:48 +00:00
CSOURCES += $( PRIORITY_QUEUES)
2011-09-06 19:28:05 +00:00
INDIRECT_PRIORITY_QUEUES := $( foreach k,$( TYPE_NOBOOL_NOOBJ) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) IndirectPriorityQueue.c)
2010-11-21 02:53:37 +00:00
$(INDIRECT_PRIORITY_QUEUES) : drv /IndirectPriorityQueue .drv ; ./gencsource .sh $< $@ >$@
2006-03-22 00:05:00 +00:00
CSOURCES += $( INDIRECT_PRIORITY_QUEUES)
2021-01-03 12:22:26 +00:00
COMPARATORS := $( foreach k,$( TYPE_NOOBJ_ALL) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) Comparator.c)
2010-11-21 02:53:37 +00:00
$(COMPARATORS) : drv /Comparator .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( COMPARATORS)
2021-01-03 12:22:26 +00:00
CONSUMERS := $( foreach k,$( TYPE_NOOBJ_ALL) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) Consumer.c)
2017-05-19 18:31:05 +00:00
$(CONSUMERS) : drv /Consumer .drv ; ./gencsource .sh $< $@ >$@
CSOURCES += $( CONSUMERS)
2021-01-06 14:21:23 +00:00
PREDICATES := $( foreach k,$( TYPE_NOOBJ) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) Predicate.c)
2020-12-22 11:01:31 +00:00
$(PREDICATES) : drv /Predicate .drv ; ./gencsource .sh $< $@ >$@
CSOURCES += $( PREDICATES)
2021-01-06 14:21:23 +00:00
BINARY_OPERATORS := $( foreach k,$( TYPE_NOOBJ) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) BinaryOperator.c)
2020-12-22 11:37:15 +00:00
$(BINARY_OPERATORS) : drv /BinaryOperator .drv ; ./gencsource .sh $< $@ >$@
CSOURCES += $( BINARY_OPERATORS)
2021-01-06 14:21:23 +00:00
UNARY_OPERATORS := $( foreach k,$( TYPE_NOOBJ) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) UnaryOperator.c)
2021-01-02 18:46:49 +00:00
$(UNARY_OPERATORS) : drv /UnaryOperator .drv ; ./gencsource .sh $< $@ >$@
CSOURCES += $( UNARY_OPERATORS)
2021-01-03 12:56:00 +00:00
ITERATORS := $( foreach k,$( TYPE_NOREF_ALL) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) Iterator.c)
2010-11-21 02:53:37 +00:00
$(ITERATORS) : drv /Iterator .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( ITERATORS)
2021-01-03 12:56:00 +00:00
SPLITERATORS := $( foreach k,$( TYPE_NOREF_ALL) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) Spliterator.c)
2019-03-25 01:38:43 +00:00
$(SPLITERATORS) : drv /Spliterator .drv ; ./gencsource .sh $< $@ >$@
2021-01-06 14:21:23 +00:00
CSOURCES += $( SPLITERATORS)
2019-03-25 01:38:43 +00:00
2021-01-06 14:21:23 +00:00
BIDIRECTIONAL_ITERATORS := $( foreach k,$( TYPE_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) BidirectionalIterator.c)
2010-11-21 02:53:37 +00:00
$(BIDIRECTIONAL_ITERATORS) : drv /BidirectionalIterator .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( BIDIRECTIONAL_ITERATORS)
2011-09-06 19:28:05 +00:00
LIST_ITERATORS := $( foreach k,$( TYPE_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) ListIterator.c)
2010-11-21 02:53:37 +00:00
$(LIST_ITERATORS) : drv /ListIterator .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( LIST_ITERATORS)
2011-09-06 19:28:05 +00:00
BIG_LISTS := $( foreach k,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) BigList.c)
2010-11-21 02:53:37 +00:00
$(BIG_LISTS) : drv /BigList .drv ; ./gencsource .sh $< $@ >$@
2010-09-15 14:45:10 +00:00
CSOURCES += $( BIG_LISTS)
2021-01-06 14:21:23 +00:00
BIG_LIST_ITERATORS := $( foreach k,$( TYPE_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) BigListIterator.c)
2010-11-21 02:53:37 +00:00
$(BIG_LIST_ITERATORS) : drv /BigListIterator .drv ; ./gencsource .sh $< $@ >$@
2010-09-15 14:45:10 +00:00
CSOURCES += $( BIG_LIST_ITERATORS)
2020-11-29 12:11:02 +00:00
PAIRS := $( foreach k,$( TYPE) , $( foreach v,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) $( v) Pair.c) )
$(PAIRS) : drv /Pair .drv ; ./gencsource .sh $< $@ >$@
CSOURCES += $( PAIRS)
2020-11-29 16:19:08 +00:00
SORTED_PAIRS := $( foreach k,$( TYPE_NOBOOL_NOOBJ) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) $( k) SortedPair.c)
$(SORTED_PAIRS) : drv /SortedPair .drv ; ./gencsource .sh $< $@ >$@
CSOURCES += $( SORTED_PAIRS)
2003-10-28 09:20:49 +00:00
#
# Abstract implementations
#
2011-09-06 19:28:05 +00:00
ABSTRACT_COLLECTIONS := $( foreach k,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /Abstract$( k) Collection.c)
2010-11-21 02:53:37 +00:00
$(ABSTRACT_COLLECTIONS) : drv /AbstractCollection .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( ABSTRACT_COLLECTIONS)
2011-09-06 19:28:05 +00:00
ABSTRACT_SETS := $( foreach k,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /Abstract$( k) Set.c)
2010-11-21 02:53:37 +00:00
$(ABSTRACT_SETS) : drv /AbstractSet .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( ABSTRACT_SETS)
2011-09-06 19:28:05 +00:00
ABSTRACT_SORTED_SETS := $( foreach k,$( TYPE_NOBOOL) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /Abstract$( k) SortedSet.c)
2010-11-21 02:53:37 +00:00
$(ABSTRACT_SORTED_SETS) : drv /AbstractSortedSet .drv ; ./gencsource .sh $< $@ >$@
2003-12-20 16:11:13 +00:00
CSOURCES += $( ABSTRACT_SORTED_SETS)
2020-10-21 13:24:10 +00:00
ABSTRACT_FUNCTIONS := $( foreach k,$( TYPE) , $( foreach v,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /Abstract$( k) 2$( v) Function.c) )
2010-11-21 02:53:37 +00:00
$(ABSTRACT_FUNCTIONS) : drv /AbstractFunction .drv ; ./gencsource .sh $< $@ >$@
2008-01-18 20:07:34 +00:00
CSOURCES += $( ABSTRACT_FUNCTIONS)
2011-09-06 19:28:05 +00:00
ABSTRACT_MAPS := $( foreach k,$( TYPE_NOBOOL) , $( foreach v,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /Abstract$( k) 2$( v) Map.c) )
2010-11-21 02:53:37 +00:00
$(ABSTRACT_MAPS) : drv /AbstractMap .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( ABSTRACT_MAPS)
2011-09-06 19:28:05 +00:00
ABSTRACT_SORTED_MAPS := $( foreach k,$( TYPE_NOBOOL) , $( foreach v,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /Abstract$( k) 2$( v) SortedMap.c) )
2010-11-21 02:53:37 +00:00
$(ABSTRACT_SORTED_MAPS) : drv /AbstractSortedMap .drv ; ./gencsource .sh $< $@ >$@
2003-12-20 16:11:13 +00:00
CSOURCES += $( ABSTRACT_SORTED_MAPS)
2011-09-06 19:28:05 +00:00
ABSTRACT_LISTS := $( foreach k,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /Abstract$( k) List.c)
2010-11-21 02:53:37 +00:00
$(ABSTRACT_LISTS) : drv /AbstractList .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( ABSTRACT_LISTS)
2011-09-06 19:28:05 +00:00
ABSTRACT_BIG_LISTS := $( foreach k,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /Abstract$( k) BigList.c)
2010-11-21 02:53:37 +00:00
$(ABSTRACT_BIG_LISTS) : drv /AbstractBigList .drv ; ./gencsource .sh $< $@ >$@
2010-09-18 09:43:58 +00:00
CSOURCES += $( ABSTRACT_BIG_LISTS)
2011-09-06 19:28:05 +00:00
ABSTRACT_STACKS := $( foreach k,$( TYPE_NOOBJ) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /Abstract$( k) Stack.c)
2010-11-21 02:53:37 +00:00
$(ABSTRACT_STACKS) : drv /AbstractStack .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( ABSTRACT_STACKS)
2011-09-06 19:28:05 +00:00
ABSTRACT_PRIORITY_QUEUES := $( foreach k,$( TYPE_NOBOOL_NOOBJ) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /Abstract$( k) PriorityQueue.c)
2010-11-21 02:53:37 +00:00
$(ABSTRACT_PRIORITY_QUEUES) : drv /AbstractPriorityQueue .drv ; ./gencsource .sh $< $@ >$@
2003-12-16 19:27:48 +00:00
CSOURCES += $( ABSTRACT_PRIORITY_QUEUES)
2011-09-06 19:28:05 +00:00
ABSTRACT_COMPARATORS := $( foreach k,$( TYPE_NOBOOL_NOOBJ) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /Abstract$( k) Comparator.c)
2010-11-21 02:53:37 +00:00
$(ABSTRACT_COMPARATORS) : drv /AbstractComparator .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( ABSTRACT_COMPARATORS)
2021-01-06 14:21:23 +00:00
ABSTRACT_ITERATORS := $( foreach k,$( TYPE_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /Abstract$( k) Iterator.c)
2010-11-21 02:53:37 +00:00
$(ABSTRACT_ITERATORS) : drv /AbstractIterator .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( ABSTRACT_ITERATORS)
2011-09-06 19:28:05 +00:00
ABSTRACT_BIDIRECTIONAL_ITERATORS := $( foreach k,$( TYPE_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /Abstract$( k) BidirectionalIterator.c)
2010-11-21 02:53:37 +00:00
$(ABSTRACT_BIDIRECTIONAL_ITERATORS) : drv /AbstractBidirectionalIterator .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( ABSTRACT_BIDIRECTIONAL_ITERATORS)
2011-09-06 19:28:05 +00:00
ABSTRACT_LIST_ITERATORS := $( foreach k,$( TYPE_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /Abstract$( k) ListIterator.c)
2010-11-21 02:53:37 +00:00
$(ABSTRACT_LIST_ITERATORS) : drv /AbstractListIterator .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( ABSTRACT_LIST_ITERATORS)
2011-09-06 19:28:05 +00:00
ABSTRACT_BIG_LIST_ITERATORS := $( foreach k,$( TYPE_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /Abstract$( k) BigListIterator.c)
2010-11-21 02:53:37 +00:00
$(ABSTRACT_BIG_LIST_ITERATORS) : drv /AbstractBigListIterator .drv ; ./gencsource .sh $< $@ >$@
2010-09-18 09:43:58 +00:00
CSOURCES += $( ABSTRACT_BIG_LIST_ITERATORS)
2021-01-06 14:21:23 +00:00
ABSTRACT_SPLITERATORS := $( foreach k,$( TYPE_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /Abstract$( k) Spliterator.c)
2021-01-03 10:58:24 +00:00
$(ABSTRACT_SPLITERATORS) : drv /AbstractSpliterator .drv ; ./gencsource .sh $< $@ >$@
CSOURCES += $( ABSTRACT_SPLITERATORS)
2003-10-28 09:20:49 +00:00
#
# Concrete implementations
#
2011-09-06 19:28:05 +00:00
OPEN_HASH_SETS := $( foreach k,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) OpenHashSet.c)
2010-11-21 02:53:37 +00:00
$(OPEN_HASH_SETS) : drv /OpenHashSet .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( OPEN_HASH_SETS)
2011-09-06 19:28:05 +00:00
OPEN_HASH_BIG_SETS := $( foreach k,$( TYPE_BIG) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) OpenHashBigSet.c)
2010-11-21 17:09:33 +00:00
$(OPEN_HASH_BIG_SETS) : drv /OpenHashBigSet .drv ; ./gencsource .sh $< $@ >$@
CSOURCES += $( OPEN_HASH_BIG_SETS)
2011-09-06 19:28:05 +00:00
LINKED_OPEN_HASH_SETS := $( foreach k,$( TYPE_NOBOOL) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) LinkedOpenHashSet.c)
2010-11-21 02:53:37 +00:00
$(LINKED_OPEN_HASH_SETS) : drv /LinkedOpenHashSet .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( LINKED_OPEN_HASH_SETS)
2011-09-06 19:28:05 +00:00
OPEN_CUSTOM_HASH_SETS := $( foreach k,$( TYPE_NOBOOL_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) OpenCustomHashSet.c)
2010-11-21 02:53:37 +00:00
$(OPEN_CUSTOM_HASH_SETS) : drv /OpenCustomHashSet .drv ; ./gencsource .sh $< $@ >$@
2004-01-25 20:21:43 +00:00
CSOURCES += $( OPEN_CUSTOM_HASH_SETS)
2011-09-06 19:28:05 +00:00
LINKED_OPEN_CUSTOM_HASH_SETS := $( foreach k,$( TYPE_NOBOOL_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) LinkedOpenCustomHashSet.c)
2010-11-21 02:53:37 +00:00
$(LINKED_OPEN_CUSTOM_HASH_SETS) : drv /LinkedOpenCustomHashSet .drv ; ./gencsource .sh $< $@ >$@
2004-01-25 20:21:43 +00:00
CSOURCES += $( LINKED_OPEN_CUSTOM_HASH_SETS)
2011-09-06 19:28:05 +00:00
ARRAY_SETS := $( foreach k,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) ArraySet.c)
2010-11-21 02:53:37 +00:00
$(ARRAY_SETS) : drv /ArraySet .drv ; ./gencsource .sh $< $@ >$@
2006-03-31 19:25:46 +00:00
CSOURCES += $( ARRAY_SETS)
2011-09-06 19:28:05 +00:00
AVL_TREE_SETS := $( foreach k,$( TYPE_NOBOOL_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) AVLTreeSet.c)
2010-11-21 02:53:37 +00:00
$(AVL_TREE_SETS) : drv /AVLTreeSet .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( AVL_TREE_SETS)
2011-09-06 19:28:05 +00:00
RB_TREE_SETS := $( foreach k,$( TYPE_NOBOOL_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) RBTreeSet.c)
2010-11-21 02:53:37 +00:00
$(RB_TREE_SETS) : drv /RBTreeSet .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( RB_TREE_SETS)
2011-09-06 19:28:05 +00:00
OPEN_HASH_MAPS := $( foreach k,$( TYPE_NOBOOL) , $( foreach v,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) 2$( v) OpenHashMap.c) )
2010-11-21 02:53:37 +00:00
$(OPEN_HASH_MAPS) : drv /OpenHashMap .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( OPEN_HASH_MAPS)
2011-09-06 19:28:05 +00:00
LINKED_OPEN_HASH_MAPS := $( foreach k,$( TYPE_NOBOOL) , $( foreach v,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) 2$( v) LinkedOpenHashMap.c) )
2010-11-21 02:53:37 +00:00
$(LINKED_OPEN_HASH_MAPS) : drv /LinkedOpenHashMap .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( LINKED_OPEN_HASH_MAPS)
2012-11-10 10:23:55 +00:00
OPEN_CUSTOM_HASH_MAPS := $( foreach k,$( TYPE_NOBOOL) , $( foreach v,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) 2$( v) OpenCustomHashMap.c) )
2010-11-21 02:53:37 +00:00
$(OPEN_CUSTOM_HASH_MAPS) : drv /OpenCustomHashMap .drv ; ./gencsource .sh $< $@ >$@
2004-01-25 20:21:43 +00:00
CSOURCES += $( OPEN_CUSTOM_HASH_MAPS)
2011-09-06 19:28:05 +00:00
LINKED_OPEN_CUSTOM_HASH_MAPS := $( foreach v,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /objects/Object2$( v) LinkedOpenCustomHashMap.c)
2010-11-21 02:53:37 +00:00
$(LINKED_OPEN_CUSTOM_HASH_MAPS) : drv /LinkedOpenCustomHashMap .drv ; ./gencsource .sh $< $@ >$@
2004-01-25 20:21:43 +00:00
CSOURCES += $( LINKED_OPEN_CUSTOM_HASH_MAPS)
2013-03-31 19:20:17 +00:00
#STRIPED_OPEN_HASH_MAPS := $(foreach k,$(TYPE_NOBOOL), $(foreach v,$(TYPE), $(GEN_SRCDIR)/$(PKG_PATH)/$(PACKAGE_$(k))/Striped$(k)2$(v)OpenHashMap.c))
#$(STRIPED_OPEN_HASH_MAPS): drv/StripedOpenHashMap.drv; ./gencsource.sh $< $@ >$@
2013-03-14 00:03:01 +00:00
2013-03-31 19:20:17 +00:00
#CSOURCES += $(STRIPED_OPEN_HASH_MAPS)
2013-03-14 00:03:01 +00:00
2011-09-06 19:28:05 +00:00
ARRAY_MAPS := $( foreach k,$( TYPE_NOBOOL) , $( foreach v,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) 2$( v) ArrayMap.c) )
2010-11-21 02:53:37 +00:00
$(ARRAY_MAPS) : drv /ArrayMap .drv ; ./gencsource .sh $< $@ >$@
2006-03-31 19:25:46 +00:00
CSOURCES += $( ARRAY_MAPS)
2011-09-06 19:28:05 +00:00
AVL_TREE_MAPS := $( foreach k,$( TYPE_NOBOOL_NOREF) , $( foreach v,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) 2$( v) AVLTreeMap.c) )
2010-11-21 02:53:37 +00:00
$(AVL_TREE_MAPS) : drv /AVLTreeMap .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( AVL_TREE_MAPS)
2011-09-06 19:28:05 +00:00
RB_TREE_MAPS := $( foreach k,$( TYPE_NOBOOL_NOREF) , $( foreach v,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) 2$( v) RBTreeMap.c) )
2010-11-21 02:53:37 +00:00
$(RB_TREE_MAPS) : drv /RBTreeMap .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( RB_TREE_MAPS)
2011-09-06 19:28:05 +00:00
ARRAY_LISTS := $( foreach k,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) ArrayList.c)
2010-11-21 02:53:37 +00:00
$(ARRAY_LISTS) : drv /ArrayList .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
CSOURCES += $( ARRAY_LISTS)
2011-09-06 19:28:05 +00:00
BIG_ARRAY_BIG_LISTS := $( foreach k,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) BigArrayBigList.c)
2010-11-21 02:53:37 +00:00
$(BIG_ARRAY_BIG_LISTS) : drv /BigArrayBigList .drv ; ./gencsource .sh $< $@ >$@
2010-09-18 09:43:58 +00:00
CSOURCES += $( BIG_ARRAY_BIG_LISTS)
2022-02-10 17:25:40 +00:00
MAPPED_BIG_LISTS := $( foreach k,$( TYPE_NOBOOL_NOOBJ) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) MappedBigList.c)
2022-02-03 11:59:06 +00:00
$(MAPPED_BIG_LISTS) : drv /MappedBigList .drv ; ./gencsource .sh $< $@ >$@
CSOURCES += $( MAPPED_BIG_LISTS)
2020-12-11 08:36:12 +00:00
IMMUTABLE_LISTS := $( foreach k,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) ImmutableList.c)
$(IMMUTABLE_LISTS) : drv /ImmutableList .drv ; ./gencsource .sh $< $@ >$@
CSOURCES += $( IMMUTABLE_LISTS)
2017-07-26 17:15:58 +00:00
FRONT_CODED_LISTS := $( foreach k, $( if $( SMALL_TYPES) ,Byte Short Char,) Int Long, $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) ArrayFrontCodedList.c)
2010-11-21 02:53:37 +00:00
$(FRONT_CODED_LISTS) : drv /ArrayFrontCodedList .drv ; ./gencsource .sh $< $@ >$@
2003-11-16 01:42:13 +00:00
CSOURCES += $( FRONT_CODED_LISTS)
2020-09-18 14:52:27 +00:00
FRONT_CODED_BIG_LISTS := $( foreach k, $( if $( SMALL_TYPES) ,Byte Short Char,) Int Long, $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) ArrayFrontCodedBigList.c)
$(FRONT_CODED_BIG_LISTS) : drv /ArrayFrontCodedBigList .drv ; ./gencsource .sh $< $@ >$@
CSOURCES += $( FRONT_CODED_BIG_LISTS)
2011-09-06 19:28:05 +00:00
HEAP_PRIORITY_QUEUES := $( foreach k,$( TYPE_NOBOOL_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) HeapPriorityQueue.c)
2010-11-21 02:53:37 +00:00
$(HEAP_PRIORITY_QUEUES) : drv /HeapPriorityQueue .drv ; ./gencsource .sh $< $@ >$@
2003-12-16 19:27:48 +00:00
CSOURCES += $( HEAP_PRIORITY_QUEUES)
2011-09-06 19:28:05 +00:00
ARRAY_PRIORITY_QUEUES := $( foreach k,$( TYPE_NOBOOL_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) ArrayPriorityQueue.c)
2010-11-21 02:53:37 +00:00
$(ARRAY_PRIORITY_QUEUES) : drv /ArrayPriorityQueue .drv ; ./gencsource .sh $< $@ >$@
2003-12-18 08:35:12 +00:00
CSOURCES += $( ARRAY_PRIORITY_QUEUES)
2011-09-06 19:28:05 +00:00
ARRAY_FIFO_QUEUES := $( foreach k,$( TYPE_NOBOOL_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) ArrayFIFOQueue.c)
2010-11-21 02:53:37 +00:00
$(ARRAY_FIFO_QUEUES) : drv /ArrayFIFOQueue .drv ; ./gencsource .sh $< $@ >$@
2010-02-26 03:14:40 +00:00
CSOURCES += $( ARRAY_FIFO_QUEUES)
2011-09-06 19:28:05 +00:00
HEAP_SEMI_INDIRECT_PRIORITY_QUEUES := $( foreach k, $( TYPE_NOBOOL_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) HeapSemiIndirectPriorityQueue.c)
2010-11-21 02:53:37 +00:00
$(HEAP_SEMI_INDIRECT_PRIORITY_QUEUES) : drv /HeapSemiIndirectPriorityQueue .drv ; ./gencsource .sh $< $@ >$@
2003-12-16 09:10:43 +00:00
2003-12-16 19:27:48 +00:00
CSOURCES += $( HEAP_SEMI_INDIRECT_PRIORITY_QUEUES)
2011-09-06 19:28:05 +00:00
HEAP_INDIRECT_PRIORITY_QUEUES := $( foreach k, $( TYPE_NOBOOL_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) HeapIndirectPriorityQueue.c)
2010-11-21 02:53:37 +00:00
$(HEAP_INDIRECT_PRIORITY_QUEUES) : drv /HeapIndirectPriorityQueue .drv ; ./gencsource .sh $< $@ >$@
2003-12-16 19:27:48 +00:00
CSOURCES += $( HEAP_INDIRECT_PRIORITY_QUEUES)
2011-09-06 19:28:05 +00:00
ARRAY_INDIRECT_PRIORITY_QUEUES := $( foreach k, $( TYPE_NOBOOL_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) ArrayIndirectPriorityQueue.c)
2010-11-21 02:53:37 +00:00
$(ARRAY_INDIRECT_PRIORITY_QUEUES) : drv /ArrayIndirectPriorityQueue .drv ; ./gencsource .sh $< $@ >$@
2003-12-18 08:35:12 +00:00
CSOURCES += $( ARRAY_INDIRECT_PRIORITY_QUEUES)
2020-11-29 12:11:02 +00:00
MUTABLE_PAIRS := $( foreach k,$( TYPE) , $( foreach v,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) $( v) MutablePair.c) )
$(MUTABLE_PAIRS) : drv /MutablePair .drv ; ./gencsource .sh $< $@ >$@
CSOURCES += $( MUTABLE_PAIRS)
IMMUTABLE_PAIRS := $( foreach k,$( TYPE) , $( foreach v,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) $( v) ImmutablePair.c) )
$(IMMUTABLE_PAIRS) : drv /ImmutablePair .drv ; ./gencsource .sh $< $@ >$@
CSOURCES += $( IMMUTABLE_PAIRS)
2020-11-29 16:19:08 +00:00
IMMUTABLE_SORTED_PAIRS := $( foreach k,$( TYPE_NOBOOL_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) $( k) ImmutableSortedPair.c)
$(IMMUTABLE_SORTED_PAIRS) : drv /ImmutableSortedPair .drv ; ./gencsource .sh $< $@ >$@
CSOURCES += $( IMMUTABLE_SORTED_PAIRS)
2003-12-18 08:35:12 +00:00
2003-10-28 09:20:49 +00:00
#
2003-10-30 17:28:01 +00:00
# Static containers
2003-10-28 09:20:49 +00:00
#
2011-09-06 19:28:05 +00:00
ITERATORS_STATIC := $( foreach k,$( TYPE_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) Iterators.c)
2010-11-21 02:53:37 +00:00
$(ITERATORS_STATIC) : drv /Iterators .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
2003-10-30 17:28:01 +00:00
CSOURCES += $( ITERATORS_STATIC)
2003-10-28 09:20:49 +00:00
2021-01-06 14:21:23 +00:00
SPLITERATORS_STATIC := $( foreach k,$( TYPE_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) Spliterators.c)
2019-03-25 01:38:43 +00:00
$(SPLITERATORS_STATIC) : drv /Spliterators .drv ; ./gencsource .sh $< $@ >$@
CSOURCES += $( SPLITERATORS_STATIC)
2011-09-06 19:28:05 +00:00
BIG_LIST_ITERATORS_STATIC := $( foreach k,$( TYPE_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) BigListIterators.c)
2010-11-21 02:53:37 +00:00
$(BIG_LIST_ITERATORS_STATIC) : drv /BigListIterators .drv ; ./gencsource .sh $< $@ >$@
2010-09-18 09:43:58 +00:00
CSOURCES += $( BIG_LIST_ITERATORS_STATIC)
2019-04-04 16:19:49 +00:00
BIG_SPLITERATORS_STATIC := $( foreach k,$( TYPE_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) BigSpliterators.c)
$(BIG_SPLITERATORS_STATIC) : drv /BigSpliterators .drv ; ./gencsource .sh $< $@ >$@
CSOURCES += $( BIG_SPLITERATORS_STATIC)
2010-09-18 09:43:58 +00:00
2021-01-06 14:21:23 +00:00
ITERABLES_STATIC := $( foreach k,$( TYPE_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) Iterables.c)
2020-10-30 10:05:59 +00:00
$(ITERABLES_STATIC) : drv /Iterables .drv ; ./gencsource .sh $< $@ >$@
CSOURCES += $( ITERABLES_STATIC)
2011-09-06 19:28:05 +00:00
COLLECTIONS_STATIC := $( foreach k,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) Collections.c)
2010-11-21 02:53:37 +00:00
$(COLLECTIONS_STATIC) : drv /Collections .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 09:20:49 +00:00
2003-10-30 17:28:01 +00:00
CSOURCES += $( COLLECTIONS_STATIC)
2003-10-27 08:52:46 +00:00
2011-09-06 19:28:05 +00:00
SETS_STATIC := $( foreach k,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) Sets.c)
2010-11-21 02:53:37 +00:00
$(SETS_STATIC) : drv /Sets .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 16:02:22 +00:00
2003-10-30 17:28:01 +00:00
CSOURCES += $( SETS_STATIC)
2003-10-28 16:02:22 +00:00
2011-09-06 19:28:05 +00:00
SORTED_SETS_STATIC := $( foreach k,$( TYPE_NOBOOL) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) SortedSets.c)
2010-11-21 02:53:37 +00:00
$(SORTED_SETS_STATIC) : drv /SortedSets .drv ; ./gencsource .sh $< $@ >$@
2003-10-28 16:02:22 +00:00
2003-12-20 16:11:13 +00:00
CSOURCES += $( SORTED_SETS_STATIC)
2003-10-28 16:02:22 +00:00
2011-09-06 19:28:05 +00:00
LISTS_STATIC := $( foreach k,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) Lists.c)
2010-11-21 02:53:37 +00:00
$(LISTS_STATIC) : drv /Lists .drv ; ./gencsource .sh $< $@ >$@
2003-10-29 09:58:24 +00:00
2003-10-30 17:28:01 +00:00
CSOURCES += $( LISTS_STATIC)
2003-10-29 09:58:24 +00:00
2011-09-06 19:28:05 +00:00
BIG_LISTS_STATIC := $( foreach k,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) BigLists.c)
2010-11-21 02:53:37 +00:00
$(BIG_LISTS_STATIC) : drv /BigLists .drv ; ./gencsource .sh $< $@ >$@
2010-09-18 09:43:58 +00:00
CSOURCES += $( BIG_LISTS_STATIC)
2021-01-03 12:56:00 +00:00
ARRAYS_STATIC := $( foreach k,$( TYPE_NOREF_ALL) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) Arrays.c)
2010-11-21 02:53:37 +00:00
$(ARRAYS_STATIC) : drv /Arrays .drv ; ./gencsource .sh $< $@ >$@
2003-10-29 09:58:24 +00:00
2003-10-30 17:28:01 +00:00
CSOURCES += $( ARRAYS_STATIC)
2003-10-29 09:58:24 +00:00
2021-01-03 12:56:00 +00:00
BIG_ARRAYS_STATIC := $( foreach k,$( TYPE_NOREF_ALL) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) BigArrays.c)
2010-11-21 02:53:37 +00:00
$(BIG_ARRAYS_STATIC) : drv /BigArrays .drv ; ./gencsource .sh $< $@ >$@
2009-04-29 09:53:26 +00:00
CSOURCES += $( BIG_ARRAYS_STATIC)
2011-09-06 19:28:05 +00:00
PRIORITY_QUEUES_STATIC := $( foreach k,$( TYPE_NOBOOL_NOOBJ) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) PriorityQueues.c)
2010-11-21 02:53:37 +00:00
$(PRIORITY_QUEUES_STATIC) : drv /PriorityQueues .drv ; ./gencsource .sh $< $@ >$@
2003-12-23 19:05:03 +00:00
CSOURCES += $( PRIORITY_QUEUES_STATIC)
2011-09-06 19:28:05 +00:00
HEAPS_STATIC := $( foreach k,$( TYPE_NOBOOL_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) Heaps.c)
2010-11-21 02:53:37 +00:00
$(HEAPS_STATIC) : drv /Heaps .drv ; ./gencsource .sh $< $@ >$@
2003-12-16 19:27:48 +00:00
CSOURCES += $( HEAPS_STATIC)
2011-09-06 19:28:05 +00:00
SEMI_INDIRECT_HEAPS_STATIC := $( foreach k,$( TYPE_NOBOOL_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) SemiIndirectHeaps.c)
2010-11-21 02:53:37 +00:00
$(SEMI_INDIRECT_HEAPS_STATIC) : drv /SemiIndirectHeaps .drv ; ./gencsource .sh $< $@ >$@
2003-12-16 19:27:48 +00:00
CSOURCES += $( SEMI_INDIRECT_HEAPS_STATIC)
2011-09-06 19:28:05 +00:00
INDIRECT_HEAPS_STATIC := $( foreach k,$( TYPE_NOBOOL_NOREF) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) IndirectHeaps.c)
2010-11-21 02:53:37 +00:00
$(INDIRECT_HEAPS_STATIC) : drv /IndirectHeaps .drv ; ./gencsource .sh $< $@ >$@
2003-12-16 19:27:48 +00:00
CSOURCES += $( INDIRECT_HEAPS_STATIC)
2011-09-06 19:28:05 +00:00
FUNCTIONS_STATIC := $( foreach k,$( TYPE_NOBOOL) , $( foreach v,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) 2$( v) Functions.c) )
2010-11-21 02:53:37 +00:00
$(FUNCTIONS_STATIC) : drv /Functions .drv ; ./gencsource .sh $< $@ >$@
2008-01-18 20:07:34 +00:00
CSOURCES += $( FUNCTIONS_STATIC)
2011-09-06 19:28:05 +00:00
MAPS_STATIC := $( foreach k,$( TYPE_NOBOOL) , $( foreach v,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) 2$( v) Maps.c) )
2010-11-21 02:53:37 +00:00
$(MAPS_STATIC) : drv /Maps .drv ; ./gencsource .sh $< $@ >$@
2003-10-29 19:34:47 +00:00
2003-10-30 17:28:01 +00:00
CSOURCES += $( MAPS_STATIC)
2003-10-30 00:06:34 +00:00
2011-09-06 19:28:05 +00:00
SORTED_MAPS_STATIC := $( foreach k,$( TYPE_NOBOOL) , $( foreach v,$( TYPE) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) 2$( v) SortedMaps.c) )
2010-11-21 02:53:37 +00:00
$(SORTED_MAPS_STATIC) : drv /SortedMaps .drv ; ./gencsource .sh $< $@ >$@
2003-10-30 21:48:35 +00:00
2003-12-20 16:11:13 +00:00
CSOURCES += $( SORTED_MAPS_STATIC)
2003-10-30 21:48:35 +00:00
2021-01-03 12:22:26 +00:00
COMPARATORS_STATIC := $( foreach k,$( TYPE_NOREF_ALL) , $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) /$( k) Comparators.c)
2010-11-21 02:53:37 +00:00
$(COMPARATORS_STATIC) : drv /Comparators .drv ; ./gencsource .sh $< $@ >$@
2003-12-16 19:27:48 +00:00
CSOURCES += $( COMPARATORS_STATIC)
2005-01-31 23:46:22 +00:00
#
# Fragmented stuff
#
2021-01-06 14:21:23 +00:00
BINIO_FRAGMENTS := $( foreach k,$( if $( IO_TYPES) ,$( TYPE_NOOBJ) ,) , $( GEN_SRCDIR) /$( PKG_PATH) /io/$( k) BinIOFragment.h)
2010-11-21 02:53:37 +00:00
$(BINIO_FRAGMENTS) : drv /BinIOFragment .drv ; ./gencsource .sh $< $@ >$@
2005-01-31 23:46:22 +00:00
CFRAGMENTS += $( BINIO_FRAGMENTS)
2011-09-06 19:28:05 +00:00
$(GEN_SRCDIR)/$(PKG_PATH)/io/BinIO.c : drv /BinIO .drv $( BINIO_FRAGMENTS )
2010-11-21 02:53:37 +00:00
./gencsource.sh drv/BinIO.drv $@ >$@
2005-01-31 23:46:22 +00:00
2021-01-06 14:21:23 +00:00
CSOURCES += $( if $( IO_TYPES) ,$( GEN_SRCDIR) /$( PKG_PATH) /io/BinIO.c,)
2005-01-31 23:46:22 +00:00
2021-01-06 14:21:23 +00:00
TEXTIO_FRAGMENTS := $( foreach k,$( if $( IO_TYPES) ,$( TYPE_NOOBJ) ,) , $( GEN_SRCDIR) /$( PKG_PATH) /io/$( k) TextIOFragment.h)
2010-11-21 02:53:37 +00:00
$(TEXTIO_FRAGMENTS) : drv /TextIOFragment .drv ; ./gencsource .sh $< $@ >$@
2005-01-31 23:46:22 +00:00
CFRAGMENTS += $( TEXTIO_FRAGMENTS)
2011-09-06 19:28:05 +00:00
$(GEN_SRCDIR)/$(PKG_PATH)/io/TextIO.c : drv /TextIO .drv $( TEXTIO_FRAGMENTS )
2010-11-21 02:53:37 +00:00
./gencsource.sh drv/TextIO.drv $@ >$@
2005-01-31 23:46:22 +00:00
2021-01-06 14:21:23 +00:00
CSOURCES += $( if $( IO_TYPES) ,$( GEN_SRCDIR) /$( PKG_PATH) /io/TextIO.c,)
2005-01-31 23:46:22 +00:00
2003-12-16 19:27:48 +00:00
2021-01-03 12:22:26 +00:00
BIG_ARRAYS_FRAGMENTS := $( foreach k,$( TYPE_NOREF_ALL) , $( GEN_SRCDIR) /$( PKG_PATH) /$( k) BigArraysFragment.h)
2019-08-02 08:32:16 +00:00
$(BIG_ARRAYS_FRAGMENTS) : drv /BigArraysFragment .drv ; ./gencsource .sh $< $@ >$@
CFRAGMENTS += $( BIG_ARRAYS_FRAGMENTS)
$(GEN_SRCDIR)/$(PKG_PATH)/BigArrays.c : drv /BigArraysCommon .drv $( BIG_ARRAYS_FRAGMENTS )
./gencsource.sh drv/BigArraysCommon.drv $@ >$@
CSOURCES += $( GEN_SRCDIR) /$( PKG_PATH) /BigArrays.c
2003-10-28 09:20:49 +00:00
JSOURCES = $( CSOURCES:.c= .java) # The list of generated Java source files
2010-11-26 02:14:07 +00:00
2003-10-27 08:52:46 +00:00
2021-01-06 14:21:23 +00:00
# These are True Java Sources instead
2003-10-30 21:23:03 +00:00
SOURCES = \
2008-01-27 01:03:17 +00:00
$( SOURCEDIR) /Function.java \
2003-10-30 17:28:01 +00:00
$( SOURCEDIR) /Hash.java \
2003-10-31 22:16:17 +00:00
$( SOURCEDIR) /HashCommon.java \
2003-10-30 17:28:01 +00:00
$( SOURCEDIR) /BidirectionalIterator.java \
2003-10-31 22:16:17 +00:00
$( SOURCEDIR) /Stack.java \
2009-04-26 21:33:30 +00:00
$( SOURCEDIR) /BigList.java \
$( SOURCEDIR) /BigListIterator.java \
2003-12-16 19:27:48 +00:00
$( SOURCEDIR) /PriorityQueue.java \
2020-11-30 23:51:19 +00:00
$( SOURCEDIR) /Pair.java \
$( SOURCEDIR) /SortedPair.java \
2003-12-16 09:10:43 +00:00
$( SOURCEDIR) /IndirectPriorityQueue.java \
2003-11-20 23:02:08 +00:00
$( SOURCEDIR) /Arrays.java \
2010-10-12 23:16:16 +00:00
$( SOURCEDIR) /Swapper.java \
$( SOURCEDIR) /BigSwapper.java \
2017-12-26 16:18:13 +00:00
$( SOURCEDIR) /SafeMath.java \
2010-10-12 23:16:16 +00:00
$( SOURCEDIR) /Size64.java \
2003-12-23 19:05:03 +00:00
$( SOURCEDIR) /PriorityQueues.java \
$( SOURCEDIR) /IndirectPriorityQueues.java \
2003-12-16 19:27:48 +00:00
$( SOURCEDIR) /AbstractPriorityQueue.java \
2003-12-18 08:35:12 +00:00
$( SOURCEDIR) /AbstractIndirectPriorityQueue.java \
2005-01-31 23:46:22 +00:00
$( SOURCEDIR) /AbstractStack.java \
2008-02-19 10:44:09 +00:00
$( SOURCEDIR) /io/FastByteArrayInputStream.java \
$( SOURCEDIR) /io/FastByteArrayOutputStream.java \
$( SOURCEDIR) /io/FastMultiByteArrayInputStream.java \
2005-01-31 23:46:22 +00:00
$( SOURCEDIR) /io/FastBufferedInputStream.java \
$( SOURCEDIR) /io/FastBufferedOutputStream.java \
2013-01-20 19:12:47 +00:00
$( SOURCEDIR) /io/InspectableFileCachedInputStream.java \
2006-06-26 22:45:01 +00:00
$( SOURCEDIR) /io/MeasurableInputStream.java \
2010-11-18 20:52:00 +00:00
$( SOURCEDIR) /io/MeasurableOutputStream.java \
2010-11-10 23:39:39 +00:00
$( SOURCEDIR) /io/MeasurableStream.java \
2021-01-06 14:21:23 +00:00
$( SOURCEDIR) /io/RepositionableStream.java
2011-05-21 09:44:04 +00:00
2015-10-30 11:09:48 +00:00
# We pass each generated Java source through the gccpreprocessor. TEST compiles in the test code,
2003-10-31 22:16:17 +00:00
# whereas ASSERTS compiles in some assertions (whose testing, of course, must be enabled in the JVM).
2003-10-27 08:52:46 +00:00
2015-05-11 16:58:37 +00:00
$(JSOURCES) : %.java : %.c
2021-01-06 14:21:23 +00:00
$( CC) -w -I. $( if $( TEST) ,-DTEST,) $( if $( ASSERTS) ,-DASSERTS_CODE,) -DASSERTS_VALUE= $( if $( ASSERTS) ,true,false) -E -C -P $< \
2017-03-30 15:03:38 +00:00
| sed -e '1,/START_OF_JAVA_SOURCE/d' -e 's/^ / /' >$@
2003-10-31 22:16:17 +00:00
2017-05-20 11:52:36 +00:00
clean :
2021-01-06 14:21:23 +00:00
-@mkdir -p build
2017-02-15 00:43:22 +00:00
-@find build -name \* .class -exec rm { } \;
-@find . -name \* .java~ -exec rm { } \;
-@find . -name \* .html~ -exec rm { } \;
2021-01-09 10:50:56 +00:00
-@$( foreach k, $( sort $( TYPE_ALL) ) , find $( GEN_SRCDIR) /$( PKG_PATH) /$( PACKAGE_$( k) ) -iname \* .java -and -not -iname \* -info.java -delete && ) true
2017-02-15 00:43:22 +00:00
-@rm -f $( GEN_SRCDIR) /$( PKG_PATH) /io/*IO.java
2019-08-02 08:32:16 +00:00
-@rm -f $( GEN_SRCDIR) /$( PKG_PATH) /BigArrays.java
2017-04-11 16:47:41 +00:00
-@rm -f $( GEN_SRCDIR) /$( PKG_PATH) /*.[ chj] $( GEN_SRCDIR) /$( PKG_PATH) /*/*.[ chj]
2017-02-15 00:43:22 +00:00
-@rm -fr $( DOCSDIR) /*
2003-10-27 08:52:46 +00:00
2016-04-07 13:51:05 +00:00
sources : $( JSOURCES )
2020-11-29 12:11:02 +00:00
rm $( GEN_SRCDIR) /it/unimi/dsi/fastutil/objects/ObjectObjectPair.java
2003-10-27 08:52:46 +00:00
2003-10-31 22:16:17 +00:00
csources : $( CSOURCES )