# This makefile is organized along the library structure of PHCpack.
# For every library, there are a number of executables (to test the
# modules in the library) which can be made.

# swap the # symbol in the following lines to use makefile_windows
# or to use makefile_copper on NCSA machine copper

MAKEFILE = makefile_unix
# MAKEFILE = makefile_windows
# MAKEFILE = makefile_copper

# Notice that executables with MPI are placed here.
# how to make the executables with MPI:

adatest:
	make -f $(MAKEFILE) adatest

mpi2sys:
	make -f $(MAKEFILE) mpi2sys

mpi2sol:
	make -f $(MAKEFILE) mpi2sol

mpi2hom:
	make -f $(MAKEFILE) mpi2hom

mpi2phc_s:
	make -f $(MAKEFILE) mpi2phc_s

mpi2phc_d:
	make -f $(MAKEFILE) mpi2phc_d

mpi2track:
	make -f $(MAKEFILE) mpi2track

mpi2phc_d2:
	make -f $(MAKEFILE) mpi2phc_d2

parallel_pieri:
	make -f $(MAKEFILE) parallel_pieri

mpi2fac:
	make -f $(MAKEFILE) mpi2fac

mpi2fac_s:
	make -f $(MAKEFILE) mpi2fac_s

mpi2fac_d:
	make -f $(MAKEFILE) mpi2fac_d

monodromyMPI:
	make -f $(MAKEFILE) monodromyMPI

stat_cell:
	make -f $(MAKEFILE) stat_cell

mpi2cell_s:
	make -f $(MAKEFILE) mpi2cell_s

mpi2cell_d:
	make -f $(MAKEFILE) mpi2cell_d

# Test program to see if compiler works, "hello world" :

hello:
	make -f $(MAKEFILE) hello

ada_hello:
	make -f $(MAKEFILE) ada_hello

# Test programs for the System library :

ts_time:
	make -f $(MAKEFILE) ts_time

ts_clock:
	make -f $(MAKEFILE) ts_clock

ts_stamps:
	make -f $(MAKEFILE) ts_stamps

ts_timer:
	make -f $(MAKEFILE) ts_timer

ts_ctimer:
	make -f $(MAKEFILE) ts_ctimer

ts_syscall:
	make -f $(MAKEFILE) ts_syscall

ts_mach:
	make -f $(MAKEFILE) ts_mach

ts_cmdline:
	make -f $(MAKEFILE) ts_cmdline

ts_byemess:
	make -f $(MAKEFILE) ts_byemess

ts_commuser:
	make -f $(MAKEFILE) ts_commuser

ts_filescan:
	make -f $(MAKEFILE) ts_filescan

# Test programs for the library Numbers :

ts_strnum:
	make -f $(MAKEFILE) ts_strnum

ts_printf:
	make -f $(MAKEFILE) ts_printf

ts_intnum:
	make -f $(MAKEFILE) ts_intnum

ts_natnum:
	make -f $(MAKEFILE) ts_natnum

ts_karat:
	make -f $(MAKEFILE) ts_karat

ts_fltnum:
	make -f $(MAKEFILE) ts_fltnum

ts_cmpnum:
	make -f $(MAKEFILE) ts_cmpnum

ts_random:
	make -f $(MAKEFILE) ts_random

ts_extran:
	make -f $(MAKEFILE) ts_extran

ts_matfun:
	make -f $(MAKEFILE) ts_matfun

ts_fraflt:
	make -f $(MAKEFILE) ts_fraflt

# Test programs for vectors, Matrices and linear-system solvers :

ts_natvec:
	make -f $(MAKEFILE) ts_natvec

ts_intvec:
	make -f $(MAKEFILE) ts_intvec

ts_fltvec:
	make -f $(MAKEFILE) ts_fltvec

ts_cmpvec:
	make -f $(MAKEFILE) ts_cmpvec

ts_natmat:
	make -f $(MAKEFILE) ts_natmat

ts_intmat:
	make -f $(MAKEFILE) ts_intmat

ts_fltmat:
	make -f $(MAKEFILE) ts_fltmat

ts_fltdls:
	make -f $(MAKEFILE) ts_fltdls

ts_cmpmat:
	make -f $(MAKEFILE) ts_cmpmat

ts_gcd:
	make -f $(MAKEFILE) ts_gcd

ts_qrd:
	make -f $(MAKEFILE) ts_qrd

ts_svd:
	make -f $(MAKEFILE) ts_svd

ts_nesvec:
	make -f $(MAKEFILE) ts_nesvec

ts_smith:
	make -f $(MAKEFILE) ts_smith

ts_rowred:
	make -f $(MAKEFILE) ts_rowred

# Test programs for Polynomials :

ts_expvec:
	make -f $(MAKEFILE) ts_expvec

ts_poly:
	make -f $(MAKEFILE) ts_poly

ts_rpol:
	make -f $(MAKEFILE) ts_rpol

ts_polmat:
	make -f $(MAKEFILE) ts_polmat

ts_jaco:
	make -f $(MAKEFILE) ts_jaco

ts_evaline:
	make -f $(MAKEFILE) ts_evaline

ts_lineva:
	make -f $(MAKEFILE) ts_lineva

ts_parse:
	make -f $(MAKEFILE) ts_parse

ts_subs:
	make -f $(MAKEFILE) ts_subs

ts_tabform:
	make -f $(MAKEFILE) ts_tabform

# Test programs for Supports :

ts_basex:
	make -f $(MAKEFILE) ts_basex

ts_feasi:
	make -f $(MAKEFILE) ts_feasi

ts_enurs:
	make -f $(MAKEFILE) ts_enurs

ts_diclp:
	make -f $(MAKEFILE) ts_diclp

ts_givrot:
	make -f $(MAKEFILE) ts_givrot

ts_lstvec:
	make -f $(MAKEFILE) ts_lstvec

ts_fvector:
	make -f $(MAKEFILE) ts_fvector

# Test programs for the Homotopy library :

ts_sols:
	make -f $(MAKEFILE) ts_sols

ts_solfilt:
	make -f $(MAKEFILE) ts_solfilt

ts_solar:
	make -f $(MAKEFILE) ts_solar

ts_mapsols_io:
	make -f $(MAKEFILE) ts_mapsols_io

ts_grepsols:
	make -f $(MAKEFILE) ts_grepsols

mergesols:
	make -f $(MAKEFILE) mergesols

ts_selsol:
	make -f $(MAKEFILE) ts_selsol

ts_splitjoin:
	make -f $(MAKEFILE) ts_splitjoin

ts_contab:
	make -f $(MAKEFILE) ts_contab

ts_quad:
	make -f $(MAKEFILE) ts_quad

ts_drivscal:
	make -f $(MAKEFILE) ts_drivscal

ts_scal:
	make -f $(MAKEFILE) ts_scal

ts_drivred:
	make -f $(MAKEFILE) ts_drivred

ts_homotopy:
	make -f $(MAKEFILE) ts_homotopy

ts_homline:
	make -f $(MAKEFILE) ts_homline

ts_linsol:
	make -f $(MAKEFILE) ts_linsol

# Test programs for the Newton library :

ts_mreseva:
	make -f $(MAKEFILE) ts_mreseva

ts_rootrefi:
	make -f $(MAKEFILE) ts_rootrefi

ts_newton:
	make -f $(MAKEFILE) ts_newton

ts_numdif:
	make -f $(MAKEFILE) ts_numdif

ts_jactrees:
	make -f $(MAKEFILE) ts_jactrees

ts_deftrees:
	make -f $(MAKEFILE) ts_deftrees

ts_deflate:
	make -f $(MAKEFILE) ts_deflate

ts_straight:
	make -f $(MAKEFILE) ts_straight

ts_stair:
	make -f $(MAKEFILE) ts_stair

ts_defmat:
	make -f $(MAKEFILE) ts_defmat

ts_multip:
	make -f $(MAKEFILE) ts_multip

ts_muldef:
	make -f $(MAKEFILE) ts_muldef

# Test programs for the Continuation library :

ts_pactun:
	make -f $(MAKEFILE) ts_pactun

ts_preco:
	make -f $(MAKEFILE) ts_preco

ts_path:
	make -f $(MAKEFILE) ts_path

ts_vlprs:
	make -f $(MAKEFILE) ts_vlprs

ts_track:
	make -f $(MAKEFILE) ts_track

ts_poco:
	make -f $(MAKEFILE) ts_poco

ts_exp:
	make -f $(MAKEFILE) ts_exp

ts_parcon:
	make -f $(MAKEFILE) ts_parcon

mypoco:
	make -f $(MAKEFILE) mypoco

# Test programs for the Root_Counts/Product homotopies library :

ts_startsys:
	make -f $(MAKEFILE) ts_startsys

ts_permanent:
	make -f $(MAKEFILE) ts_permanent

ts_prodsys:
	make -f $(MAKEFILE) ts_prodsys

ts_drivmhom:
	make -f $(MAKEFILE) ts_drivmhom

ts_drivmuho:
	make -f $(MAKEFILE) ts_drivmuho

ts_drivss:
	make -f $(MAKEFILE) ts_drivss

# Test programs in the Root_Counts/Fewnomials library :

ts_binwit:
	make -f $(MAKEFILE) ts_binwit

ts_fewsys:
	make -f $(MAKEFILE) ts_fewsys

ts_spasol:
	make -f $(MAKEFILE) ts_spasol

# Test programs for the Implicit lifting library :

ts_supports:
	make -f $(MAKEFILE) ts_supports

ts_drivpts:
	make -f $(MAKEFILE) ts_drivpts

ts_impvol:
	make -f $(MAKEFILE) ts_impvol

ts_durker:
	make -f $(MAKEFILE) ts_durker

ts_drivimpl:
	make -f $(MAKEFILE) ts_drivimpl

# Test programs for the Static Lifting library :

ts_rndcff:
	make -f $(MAKEFILE) ts_rndcff

ts_supsub:
	make -f $(MAKEFILE) ts_supsub

ts_conint:
	make -f $(MAKEFILE) ts_conint

ts_mixture:
	make -f $(MAKEFILE) ts_mixture

ts_mixvol:
	make -f $(MAKEFILE) ts_mixvol

ts_mixlab:
	make -f $(MAKEFILE) ts_mixlab

ts_jpmix:
	make -f $(MAKEFILE) ts_jpmix

ts_drivcrit:
	make -f $(MAKEFILE) ts_drivcrit

ts_drivstal:
	make -f $(MAKEFILE) ts_drivstal

ts_mvasta:
	make -f $(MAKEFILE) ts_mvasta

ts_exptrack:
	make -f $(MAKEFILE) ts_exptrack

# Test programs for the Dynamic lifting library :

ts_dyntri:
	make -f $(MAKEFILE) ts_dyntri

ts_drivmink:
	make -f $(MAKEFILE) ts_drivmink

ts_drivdynl:
	make -f $(MAKEFILE) ts_drivdynl

# Test programs for the Symmetry library :

ts_equpol:
	make -f $(MAKEFILE) ts_equpol

ts_drivsss:
	make -f $(MAKEFILE) ts_drivsss

# Target program for the MixedVol library :

convsub:
	make -f $(MAKEFILE) convsub

ts_mv2c:
	make -f $(MAKEFILE) ts_mv2c

ts_mv:
	make -f $(MAKEFILE) ts_mv

ts_mva:
	make -f $(MAKEFILE) ts_mva

# Test programs for SAGBI library in numerical Schubert calculus :

ts_subsets:
	make -f $(MAKEFILE) ts_subsets

ts_brackets:
	make -f $(MAKEFILE) ts_brackets

ts_brackmons:
	make -f $(MAKEFILE) ts_brackmons

ts_brackpols:
	make -f $(MAKEFILE) ts_brackpols

ts_straighten:
	make -f $(MAKEFILE) ts_straighten

ts_expand:
	make -f $(MAKEFILE) ts_expand

ts_local:
	make -f $(MAKEFILE) ts_local

ts_mathom:
	make -f $(MAKEFILE) ts_mathom

ts_cheby:
	make -f $(MAKEFILE) ts_cheby

ts_shapiro:
	make -f $(MAKEFILE) ts_shapiro

ts_eremenko:
	make -f $(MAKEFILE) ts_eremenko

ts_detrock:
	make -f $(MAKEFILE) ts_detrock

ts_sagbi:
	make -f $(MAKEFILE) ts_sagbi

ts_topos:
	make -f $(MAKEFILE) ts_topos

# Test programs for Pieri library in numerical Schubert calculus :

ts_org_pieri:
	make -f $(MAKEFILE) ts_org_pieri

ts_canocurv:
	make -f $(MAKEFILE) ts_canocurv

ts_matinv:
	make -f $(MAKEFILE) ts_matinv

ts_pieri:
	make -f $(MAKEFILE) ts_pieri

ts_posets:
	make -f $(MAKEFILE) ts_posets

ts_detsys:
	make -f $(MAKEFILE) ts_detsys

ts_defpos:
	make -f $(MAKEFILE) ts_defpos

ts_piroco:
	make -f $(MAKEFILE) ts_piroco

# Test programs for Induction library in numerical Schubert calculus :

ts_checkers:
	make -f $(MAKEFILE) ts_checkers

ts_induce:
	make -f $(MAKEFILE) ts_induce

# Test programs for the evaluators :

ts_cyclic7:
	make -f $(MAKEFILE) ts_cyclic7

solve_cyclic7:
	make -f $(MAKEFILE) solve_cyclic7

# Test programs for the Components/Samplers library :

ts_roots:
	make -f $(MAKEFILE) ts_roots

ts_hypsam:
	make -f $(MAKEFILE) ts_hypsam

ts_hyprts:
	make -f $(MAKEFILE) ts_hyprts

ts_hyppts:
	make -f $(MAKEFILE) ts_hyppts

ts_unisam:
	make -f $(MAKEFILE) ts_unisam

ts_planes:
	make -f $(MAKEFILE) ts_planes

ts_flag:
	make -f $(MAKEFILE) ts_flag

ts_coords:
	make -f $(MAKEFILE) ts_coords

ts_itrack:
	make -f $(MAKEFILE) ts_itrack

ts_ispan:
	make -f $(MAKEFILE) ts_ispan

ts_inewt:
	make -f $(MAKEFILE) ts_inewt

ts_iwset:
	make -f $(MAKEFILE) ts_iwset

ts_sampar:
	make -f $(MAKEFILE) ts_sampar

ts_sample:
	make -f $(MAKEFILE) ts_sample

ts_mulsam:
	make -f $(MAKEFILE) ts_mulsam

ts_mulhom:
	make -f $(MAKEFILE) ts_mulhom

ts_endgm:
	make -f $(MAKEFILE) ts_endgm

ts_locdim:
	make -f $(MAKEFILE) ts_locdim

# Test programs for the Components/Interpolators libary :

ts_stpolin:
	make -f $(MAKEFILE) ts_stpolin

ts_mupolin:
	make -f $(MAKEFILE) ts_mupolin

ts_adpolin:
	make -f $(MAKEFILE) ts_adpolin

ts_project:
	make -f $(MAKEFILE) ts_project

ts_span:
	make -f $(MAKEFILE) ts_span

ts_filter:
	make -f $(MAKEFILE) ts_filter

ts_nbterms:
	make -f $(MAKEFILE) ts_nbterms

ts_divdif:
	make -f $(MAKEFILE) ts_divdif

ts_dvdexp:
	make -f $(MAKEFILE) ts_dvdexp

ts_newint:
	make -f $(MAKEFILE) ts_newint

ts_powtrc:
	make -f $(MAKEFILE) ts_powtrc

ts_traces:
	make -f $(MAKEFILE) ts_traces

ts_trapol:
	make -f $(MAKEFILE) ts_trapol

ts_rewrite:
	make -f $(MAKEFILE) ts_rewrite

ts_elim:
	make -f $(MAKEFILE) ts_elim

ts_embed:
	make -f $(MAKEFILE) ts_embed

ts_square:
	make -f $(MAKEFILE) ts_square

ts_squemb:
	make -f $(MAKEFILE) ts_squemb

# Test programs in the Components/Factorization library :

ts_rwpoly:
	make -f $(MAKEFILE) ts_rwpoly

ts_irco:
	make -f $(MAKEFILE) ts_irco

ts_combfac:
	make -f $(MAKEFILE) ts_combfac

ts_newfac:
	make -f $(MAKEFILE) ts_newfac

ts_factor:
	make -f $(MAKEFILE) ts_factor

ts_ifactor:
	make -f $(MAKEFILE) ts_ifactor

ts_randpoly:
	make -f $(MAKEFILE) ts_randpoly

ts_mulfac:
	make -f $(MAKEFILE) ts_mulfac

ts_hypfac:
	make -f $(MAKEFILE) ts_hypfac

ts_monfac:
	make -f $(MAKEFILE) ts_monfac

# Test programs in the Components/Decomposition library :

ts_irdeco:
	make -f $(MAKEFILE) ts_irdeco

ts_breakup:
	make -f $(MAKEFILE) ts_breakup

ts_cascade:
	make -f $(MAKEFILE) ts_cascade

ts_intcas:
	make -f $(MAKEFILE) ts_intcas

ts_intdia:
	make -f $(MAKEFILE) ts_intdia

ts_reorder:
	make -f $(MAKEFILE) ts_reorder

ts_filfac:
	make -f $(MAKEFILE) ts_filfac

ts_squeeze:
	make -f $(MAKEFILE) ts_squeeze

ts_dimred:
	make -f $(MAKEFILE) ts_dimred

ts_mbthom:
	make -f $(MAKEFILE) ts_mbthom

ts_diahom:
	make -f $(MAKEFILE) ts_diahom

ts_fillit:
	make -f $(MAKEFILE) ts_fillit

ts_jmpdia:
	make -f $(MAKEFILE) ts_jmpdia

# Test programs in the Decomposition/Solver library :

ts_hypwit:
	make -f $(MAKEFILE) ts_hypwit

ts_solver:
	make -f $(MAKEFILE) ts_solver

testnine:
	make -f $(MAKEFILE) testnine

# Test programs in the Differentials library :

ts_prolong:
	make -f $(MAKEFILE) ts_prolong

ts_dae:
	make -f $(MAKEFILE) ts_dae

# test programs for the CtoPHC/Funky directory :

ts_arrays:
	make -f $(MAKEFILE) ts_arrays

pass_poly:
	make -f $(MAKEFILE) pass_poly

ts_cosup:
	make -f $(MAKEFILE) ts_cosup

ts_cosupoly:
	make -f $(MAKEFILE) ts_cosupoly

ts_cosupsys:
	make -f $(MAKEFILE) ts_cosupsys

ts_cosuptoc:
	make -f $(MAKEFILE) ts_cosuptoc

ts_getsys:
	make -f $(MAKEFILE) ts_getsys

ts_phc_sys_rw:
	make -f $(MAKEFILE) ts_phc_sys_rw

ts_phc_sol_rw:
	make -f $(MAKEFILE) ts_phc_sol_rw

ts_cpm:
	make -f $(MAKEFILE) ts_cpm

ts_pieri_count:
	make -f $(MAKEFILE) ts_pieri_count

ts_pieri_solver:
	make -f $(MAKEFILE) ts_pieri_solver

ts_phc_solver:
	make -f $(MAKEFILE) ts_phc_solver

ts_csols:
	make -f $(MAKEFILE) ts_csols

ts_path_tracker:
	make -f $(MAKEFILE) ts_path_tracker

# test programs in the CtoPHC/State directory :

ts_solcon:
	make -f $(MAKEFILE) ts_solcon

ts_use_solcon:
	make -f $(MAKEFILE) ts_use_solcon

ts_syscon:
	make -f $(MAKEFILE) ts_syscon

ts_use_syscon:
	make -f $(MAKEFILE) ts_use_syscon

ts_c2phc:
	make -f $(MAKEFILE) ts_c2phc

ts_c2str:
	make -f $(MAKEFILE) ts_c2str

ts_use_c2phc:
	make -f $(MAKEFILE) ts_use_c2phc

ts_pirhom:
	make -f $(MAKEFILE) ts_pirhom

ts_use_c2pieri:
	make -f $(MAKEFILE) ts_use_c2pieri

ts_use_c2fac:
	make -f $(MAKEFILE) ts_use_c2fac

ts_celcon:
	make -f $(MAKEFILE) ts_celcon

ts_use_celcon:
	make -f $(MAKEFILE) ts_use_celcon

# files in feedback :

ts_feedback:
	make -f $(MAKEFILE) ts_feedback

# Test programs for the Main interactive drivers :

ts_drivroco:
	make -f $(MAKEFILE) ts_drivroco

use_phc:
	make -f $(MAKEFILE) use_phc

phc:
	make -f $(MAKEFILE) phc

new_phc:
	make -f $(MAKEFILE) new_phc

# Test programs in the library Lib :

lib_read:
	make -f $(MAKEFILE) lib_read

lib_syscon:
	make -f $(MAKEFILE) lib_syscon

lib_solcon:
	make -f $(MAKEFILE) lib_solcon

lib_newton:
	make -f $(MAKEFILE) lib_newton

lib_celcon:
	make -f $(MAKEFILE) lib_celcon

lib_conpar:
	make -f $(MAKEFILE) lib_conpar

lib_track:
	make -f $(MAKEFILE) lib_track

lib_poco:
	make -f $(MAKEFILE) lib_poco

lib_factor:
	make -f $(MAKEFILE) lib_factor

phc_solve:
	make -f $(MAKEFILE) phc_solve

# cleaning up the object files :

clean:
	make -f $(MAKEFILE) clean
