26
#===============================================================================
28
AMD_INC = ../../AMD/Include/amd.h ../../AMD/Include/amd_internal.h
45
amd_1.o: ../../AMD/Source/amd_1.c $(AMD_INC)
48
amd_2.o: ../../AMD/Source/amd_2.c $(AMD_INC)
51
amd_aat.o: ../../AMD/Source/amd_aat.c $(AMD_INC)
54
amd_control.o: ../../AMD/Source/amd_control.c $(AMD_INC)
57
amd_defaults.o: ../../AMD/Source/amd_defaults.c $(AMD_INC)
60
amd_dump.o: ../../AMD/Source/amd_dump.c $(AMD_INC)
63
amd_global.o: ../../AMD/Source/amd_global.c $(AMD_INC)
66
amd_info.o: ../../AMD/Source/amd_info.c $(AMD_INC)
69
amd_order.o: ../../AMD/Source/amd_order.c $(AMD_INC)
72
amd_postorder.o: ../../AMD/Source/amd_postorder.c $(AMD_INC)
75
amd_post_tree.o: ../../AMD/Source/amd_post_tree.c $(AMD_INC)
78
amd_preprocess.o: ../../AMD/Source/amd_preprocess.c $(AMD_INC)
81
amd_valid.o: ../../AMD/Source/amd_valid.c $(AMD_INC)
84
#===============================================================================
86
CAMD_INC = ../../CAMD/Include/camd.h ../../CAMD/Include/camd_internal.h
102
camd_1.o: ../../CAMD/Source/camd_1.c $(CAMD_INC)
105
camd_2.o: ../../CAMD/Source/camd_2.c $(CAMD_INC)
108
camd_aat.o: ../../CAMD/Source/camd_aat.c $(CAMD_INC)
111
camd_control.o: ../../CAMD/Source/camd_control.c $(CAMD_INC)
114
camd_defaults.o: ../../CAMD/Source/camd_defaults.c $(CAMD_INC)
117
camd_dump.o: ../../CAMD/Source/camd_dump.c $(CAMD_INC)
120
camd_global.o: ../../CAMD/Source/camd_global.c $(CAMD_INC)
123
camd_info.o: ../../CAMD/Source/camd_info.c $(CAMD_INC)
126
camd_order.o: ../../CAMD/Source/camd_order.c $(CAMD_INC)
129
camd_postorder.o: ../../CAMD/Source/camd_postorder.c $(CAMD_INC)
132
camd_post_tree.o: ../../CAMD/Source/camd_post_tree.c $(CAMD_INC)
135
camd_preprocess.o: ../../CAMD/Source/camd_preprocess.c $(CAMD_INC)
138
camd_valid.o: ../../CAMD/Source/camd_valid.c $(CAMD_INC)
141
#===============================================================================
143
COLAMD_INC = ../../COLAMD/Include/colamd.h
145
COLAMD = colamd.o colamd_global.o
147
colamd.o: ../../COLAMD/Source/colamd.c $(COLAMD_INC)
150
colamd_global.o: ../../COLAMD/Source/colamd_global.c $(COLAMD_INC)
153
#===============================================================================
155
CCOLAMD_INC = ../../CCOLAMD/Include/ccolamd.h
157
CCOLAMD = ccolamd.o ccolamd_global.o
159
ccolamd.o: ../../CCOLAMD/Source/ccolamd.c $(CCOLAMD_INC)
162
ccolamd_global.o: ../../CCOLAMD/Source/ccolamd_global.c $(CCOLAMD_INC)
165
#===============================================================================
39
167
# patch METIS 4.0.1
168
rename.h: Makefile $(METIS_PATH)/Lib/rename.h
41
169
echo '/* do not edit this file; generated by CHOLMOD/MATLAB/Makefile */' > rename.h
42
170
echo '#undef log2' >> rename.h
43
171
echo '#include "$(METIS_PATH)/Lib/rename.h"' >> rename.h
44
172
echo '#undef log2' >> rename.h
45
173
echo '#define log2 METIS__log2' >> rename.h
47
cholmod_matlab.o: cholmod_matlab.c cholmod_matlab.h
48
$(MX) -c $(INC) cholmod_matlab.c
50
analyze: analyze.c library cholmod_matlab.o
51
$(MX) analyze.c cholmod_matlab.o $(INC) $(LIB)
53
mread: mread.c library cholmod_matlab.o
54
$(MX) mread.c cholmod_matlab.o $(INC) $(LIB)
56
mwrite: mwrite.c library cholmod_matlab.o
57
$(MX) mwrite.c cholmod_matlab.o $(INC) $(LIB)
59
spsym: spsym.c library cholmod_matlab.o
60
$(MX) spsym.c cholmod_matlab.o $(INC) $(LIB)
62
chol2: chol2.c library cholmod_matlab.o
63
$(MX) chol2.c cholmod_matlab.o $(INC) $(LIB)
65
lchol: lchol.c library cholmod_matlab.o
66
$(MX) lchol.c cholmod_matlab.o $(INC) $(LIB)
68
ldlchol: ldlchol.c library cholmod_matlab.o
69
$(MX) ldlchol.c cholmod_matlab.o $(INC) $(LIB)
71
ldlupdate: ldlupdate.c library cholmod_matlab.o
72
$(MX) ldlupdate.c cholmod_matlab.o $(INC) $(LIB)
74
ldlsolve: ldlsolve.c library cholmod_matlab.o
75
$(MX) ldlsolve.c cholmod_matlab.o $(INC) $(LIB)
77
sdmult: sdmult.c library cholmod_matlab.o
78
$(MX) sdmult.c cholmod_matlab.o $(INC) $(LIB)
80
resymbol: resymbol.c library cholmod_matlab.o
81
$(MX) resymbol.c cholmod_matlab.o $(INC) $(LIB)
83
cholmod: cholmod.c library cholmod_matlab.o
84
$(MX) cholmod.c cholmod_matlab.o $(INC) $(LIB)
86
nesdis: nesdis.c library cholmod_matlab.o
87
$(MX) nesdis.c cholmod_matlab.o $(INC) $(LIB)
89
septree: septree.c library cholmod_matlab.o
90
$(MX) septree.c cholmod_matlab.o $(INC) $(LIB)
92
metis: metis.c library cholmod_matlab.o
93
$(MX) metis.c cholmod_matlab.o $(INC) $(LIB)
95
etree2: etree2.c library cholmod_matlab.o
96
$(MX) etree2.c cholmod_matlab.o $(INC) $(LIB)
98
bisect: bisect.c library cholmod_matlab.o
99
$(MX) bisect.c cholmod_matlab.o $(INC) $(LIB)
101
symbfact2: symbfact2.c library cholmod_matlab.o
102
$(MX) symbfact2.c cholmod_matlab.o $(INC) $(LIB)
104
sparse2: sparse2.c library cholmod_matlab.o
105
$(MX) -g sparse2.c cholmod_matlab.o $(INC) $(LIB)
107
#-------------------------------------------------------------------------------
108
# See below if you compile with -DNPARTITION
110
( cd ../Lib ; $(MAKE) )
111
( cd ../../AMD ; $(MAKE) library )
112
( cd ../../CAMD ; $(MAKE) library )
113
( cd ../../COLAMD ; $(MAKE) )
114
( cd ../../CCOLAMD ; $(MAKE) )
115
# use this rule instead, if you compile with -DNPARTITION:
117
# ( cd ../Lib ; $(MAKE) )
118
# ( cd ../../AMD ; $(MAKE) library )
119
# ( cd ../../COLAMD ; $(MAKE) )
174
echo '#include "mex.h"' >> rename.h
175
echo '#define malloc mxMalloc' >> rename.h
176
echo '#define free mxFree' >> rename.h
177
echo '#define calloc mxCalloc' >> rename.h
178
echo '#define realloc mxRealloc' >> rename.h
180
METIS_INC = rename.h \
181
$(METIS_PATH)/Lib/defs.h \
182
$(METIS_PATH)/Lib/macros.h \
183
$(METIS_PATH)/Lib/metis.h \
184
$(METIS_PATH)/Lib/proto.h \
185
$(METIS_PATH)/Lib/rename.h \
186
$(METIS_PATH)/Lib/struct.h
242
balance.o: $(METIS_PATH)/Lib/balance.c $(METIS_INC)
245
bucketsort.o: $(METIS_PATH)/Lib/bucketsort.c $(METIS_INC)
248
ccgraph.o: $(METIS_PATH)/Lib/ccgraph.c $(METIS_INC)
251
coarsen.o: $(METIS_PATH)/Lib/coarsen.c $(METIS_INC)
254
compress.o: $(METIS_PATH)/Lib/compress.c $(METIS_INC)
257
debug.o: $(METIS_PATH)/Lib/debug.c $(METIS_INC)
260
estmem.o: $(METIS_PATH)/Lib/estmem.c $(METIS_INC)
263
fm.o: $(METIS_PATH)/Lib/fm.c $(METIS_INC)
266
fortran.o: $(METIS_PATH)/Lib/fortran.c $(METIS_INC)
269
frename.o: $(METIS_PATH)/Lib/frename.c $(METIS_INC)
272
graph.o: $(METIS_PATH)/Lib/graph.c $(METIS_INC)
275
initpart.o: $(METIS_PATH)/Lib/initpart.c $(METIS_INC)
278
kmetis.o: $(METIS_PATH)/Lib/kmetis.c $(METIS_INC)
281
kvmetis.o: $(METIS_PATH)/Lib/kvmetis.c $(METIS_INC)
284
kwayfm.o: $(METIS_PATH)/Lib/kwayfm.c $(METIS_INC)
287
kwayrefine.o: $(METIS_PATH)/Lib/kwayrefine.c $(METIS_INC)
290
kwayvolfm.o: $(METIS_PATH)/Lib/kwayvolfm.c $(METIS_INC)
293
kwayvolrefine.o: $(METIS_PATH)/Lib/kwayvolrefine.c $(METIS_INC)
296
match.o: $(METIS_PATH)/Lib/match.c $(METIS_INC)
299
mbalance2.o: $(METIS_PATH)/Lib/mbalance2.c $(METIS_INC)
302
mbalance.o: $(METIS_PATH)/Lib/mbalance.c $(METIS_INC)
305
mcoarsen.o: $(METIS_PATH)/Lib/mcoarsen.c $(METIS_INC)
308
memory.o: $(METIS_PATH)/Lib/memory.c $(METIS_INC)
311
mesh.o: $(METIS_PATH)/Lib/mesh.c $(METIS_INC)
314
meshpart.o: $(METIS_PATH)/Lib/meshpart.c $(METIS_INC)
317
mfm2.o: $(METIS_PATH)/Lib/mfm2.c $(METIS_INC)
320
mfm.o: $(METIS_PATH)/Lib/mfm.c $(METIS_INC)
323
mincover.o: $(METIS_PATH)/Lib/mincover.c $(METIS_INC)
326
minitpart2.o: $(METIS_PATH)/Lib/minitpart2.c $(METIS_INC)
329
minitpart.o: $(METIS_PATH)/Lib/minitpart.c $(METIS_INC)
332
mkmetis.o: $(METIS_PATH)/Lib/mkmetis.c $(METIS_INC)
335
mkwayfmh.o: $(METIS_PATH)/Lib/mkwayfmh.c $(METIS_INC)
338
mkwayrefine.o: $(METIS_PATH)/Lib/mkwayrefine.c $(METIS_INC)
341
mmatch.o: $(METIS_PATH)/Lib/mmatch.c $(METIS_INC)
344
mmd.o: $(METIS_PATH)/Lib/mmd.c $(METIS_INC)
347
mpmetis.o: $(METIS_PATH)/Lib/mpmetis.c $(METIS_INC)
350
mrefine2.o: $(METIS_PATH)/Lib/mrefine2.c $(METIS_INC)
353
mrefine.o: $(METIS_PATH)/Lib/mrefine.c $(METIS_INC)
356
mutil.o: $(METIS_PATH)/Lib/mutil.c $(METIS_INC)
359
myqsort.o: $(METIS_PATH)/Lib/myqsort.c $(METIS_INC)
362
ometis.o: $(METIS_PATH)/Lib/ometis.c $(METIS_INC)
365
parmetis.o: $(METIS_PATH)/Lib/parmetis.c $(METIS_INC)
368
pmetis.o: $(METIS_PATH)/Lib/pmetis.c $(METIS_INC)
371
pqueue.o: $(METIS_PATH)/Lib/pqueue.c $(METIS_INC)
374
refine.o: $(METIS_PATH)/Lib/refine.c $(METIS_INC)
377
separator.o: $(METIS_PATH)/Lib/separator.c $(METIS_INC)
380
sfm.o: $(METIS_PATH)/Lib/sfm.c $(METIS_INC)
383
srefine.o: $(METIS_PATH)/Lib/srefine.c $(METIS_INC)
386
stat.o: $(METIS_PATH)/Lib/stat.c $(METIS_INC)
389
subdomains.o: $(METIS_PATH)/Lib/subdomains.c $(METIS_INC)
392
timing.o: $(METIS_PATH)/Lib/timing.c $(METIS_INC)
395
util.o: $(METIS_PATH)/Lib/util.c $(METIS_INC)
398
#===============================================================================
402
../Include/cholmod_blas.h \
403
../Include/cholmod_check.h \
404
../Include/cholmod_cholesky.h \
405
../Include/cholmod_complexity.h \
406
../Include/cholmod_config.h \
407
../Include/cholmod_core.h \
408
../Include/cholmod.h \
409
../Include/cholmod_internal.h \
410
../Include/cholmod_io64.h \
411
../Include/cholmod_matrixops.h \
412
../Include/cholmod_modify.h \
413
../Include/cholmod_partition.h \
414
../Include/cholmod_supernodal.h \
415
../Include/cholmod_template.h
426
cholmod_factorize.o \
427
cholmod_postorder.o \
430
cholmod_rowcolcounts.o \
437
cholmod_change_factor.o \
446
cholmod_transpose.o \
454
cholmod_submatrix.o \
465
cholmod_super_numeric.o \
466
cholmod_super_solve.o \
467
cholmod_super_symbolic.o
469
cholmod_matlab.o: cholmod_matlab.c $(CHOLMOD_INC)
472
cholmod_check.o: ../Check/cholmod_check.c $(CHOLMOD_INC)
475
cholmod_read.o: ../Check/cholmod_read.c $(CHOLMOD_INC)
478
cholmod_write.o: ../Check/cholmod_write.c $(CHOLMOD_INC)
481
cholmod_amd.o: ../Cholesky/cholmod_amd.c $(CHOLMOD_INC)
484
cholmod_analyze.o: ../Cholesky/cholmod_analyze.c $(CHOLMOD_INC)
487
cholmod_colamd.o: ../Cholesky/cholmod_colamd.c $(CHOLMOD_INC)
490
cholmod_etree.o: ../Cholesky/cholmod_etree.c $(CHOLMOD_INC)
493
cholmod_factorize.o: ../Cholesky/cholmod_factorize.c $(CHOLMOD_INC)
496
cholmod_postorder.o: ../Cholesky/cholmod_postorder.c $(CHOLMOD_INC)
499
cholmod_rcond.o: ../Cholesky/cholmod_rcond.c $(CHOLMOD_INC)
502
cholmod_resymbol.o: ../Cholesky/cholmod_resymbol.c $(CHOLMOD_INC)
505
cholmod_rowcolcounts.o: ../Cholesky/cholmod_rowcolcounts.c $(CHOLMOD_INC)
508
cholmod_rowfac.o: ../Cholesky/cholmod_rowfac.c \
509
../Cholesky/t_cholmod_rowfac.c $(CHOLMOD_INC)
512
cholmod_solve.o: ../Cholesky/cholmod_solve.c \
513
../Cholesky/t_cholmod_lsolve.c \
514
../Cholesky/t_cholmod_ltsolve.c \
515
../Cholesky/t_cholmod_solve.c $(CHOLMOD_INC)
518
cholmod_spsolve.o: ../Cholesky/cholmod_spsolve.c $(CHOLMOD_INC)
521
cholmod_aat.o: ../Core/cholmod_aat.c $(CHOLMOD_INC)
524
cholmod_add.o: ../Core/cholmod_add.c $(CHOLMOD_INC)
527
cholmod_band.o: ../Core/cholmod_band.c $(CHOLMOD_INC)
530
cholmod_change_factor.o: ../Core/cholmod_change_factor.c \
531
../Core/t_cholmod_change_factor.c $(CHOLMOD_INC)
534
cholmod_common.o: ../Core/cholmod_common.c $(CHOLMOD_INC)
537
cholmod_complex.o: ../Core/cholmod_complex.c $(CHOLMOD_INC)
540
cholmod_copy.o: ../Core/cholmod_copy.c $(CHOLMOD_INC)
543
cholmod_dense.o: ../Core/cholmod_dense.c \
544
../Core/t_cholmod_dense.c $(CHOLMOD_INC)
547
cholmod_error.o: ../Core/cholmod_error.c $(CHOLMOD_INC)
550
cholmod_factor.o: ../Core/cholmod_factor.c $(CHOLMOD_INC)
553
cholmod_memory.o: ../Core/cholmod_memory.c $(CHOLMOD_INC)
556
cholmod_sparse.o: ../Core/cholmod_sparse.c $(CHOLMOD_INC)
559
cholmod_transpose.o: ../Core/cholmod_transpose.c \
560
../Core/t_cholmod_transpose.c $(CHOLMOD_INC)
563
cholmod_triplet.o: ../Core/cholmod_triplet.c \
564
../Core/t_cholmod_triplet.c $(CHOLMOD_INC)
567
cholmod_drop.o: ../MatrixOps/cholmod_drop.c $(CHOLMOD_INC)
570
cholmod_horzcat.o: ../MatrixOps/cholmod_horzcat.c $(CHOLMOD_INC)
573
cholmod_norm.o: ../MatrixOps/cholmod_norm.c $(CHOLMOD_INC)
576
cholmod_scale.o: ../MatrixOps/cholmod_scale.c $(CHOLMOD_INC)
579
cholmod_sdmult.o: ../MatrixOps/cholmod_sdmult.c \
580
../MatrixOps/t_cholmod_sdmult.c $(CHOLMOD_INC)
583
cholmod_ssmult.o: ../MatrixOps/cholmod_ssmult.c $(CHOLMOD_INC)
586
cholmod_submatrix.o: ../MatrixOps/cholmod_submatrix.c $(CHOLMOD_INC)
589
cholmod_symmetry.o: ../MatrixOps/cholmod_symmetry.c $(CHOLMOD_INC)
592
cholmod_vertcat.o: ../MatrixOps/cholmod_vertcat.c $(CHOLMOD_INC)
595
cholmod_rowadd.o: ../Modify/cholmod_rowadd.c $(CHOLMOD_INC)
598
cholmod_rowdel.o: ../Modify/cholmod_rowdel.c $(CHOLMOD_INC)
601
cholmod_updown.o: ../Modify/cholmod_updown.c \
602
../Modify/t_cholmod_updown.c \
603
../Modify/t_cholmod_updown_numkr.c $(CHOLMOD_INC)
606
cholmod_camd.o: ../Partition/cholmod_camd.c $(CHOLMOD_INC)
609
cholmod_ccolamd.o: ../Partition/cholmod_ccolamd.c $(CHOLMOD_INC)
612
cholmod_csymamd.o: ../Partition/cholmod_csymamd.c $(CHOLMOD_INC)
615
cholmod_metis.o: ../Partition/cholmod_metis.c $(CHOLMOD_INC)
618
cholmod_nesdis.o: ../Partition/cholmod_nesdis.c $(CHOLMOD_INC)
621
cholmod_super_numeric.o: ../Supernodal/cholmod_super_numeric.c \
622
../Supernodal/t_cholmod_super_numeric.c $(CHOLMOD_INC)
625
cholmod_super_solve.o: ../Supernodal/cholmod_super_solve.c \
626
../Supernodal/t_cholmod_super_solve.c $(CHOLMOD_INC)
629
cholmod_super_symbolic.o: ../Supernodal/cholmod_super_symbolic.c $(CHOLMOD_INC)
633
#===============================================================================
635
OBJ = $(AMD) $(CAMD) $(COLAMD) $(CCOLAMD) $(METIS) $(CHOLMOD)
637
analyze: analyze.c $(OBJ)
638
$(MX) analyze.c $(OBJ)
640
mread: mread.c $(OBJ)
643
mwrite: mwrite.c $(OBJ)
644
$(MX) mwrite.c $(OBJ)
646
spsym: spsym.c $(OBJ)
649
chol2: chol2.c $(OBJ)
652
lchol: lchol.c $(OBJ)
655
ldlchol: ldlchol.c $(OBJ)
656
$(MX) ldlchol.c $(OBJ)
658
ldlupdate: ldlupdate.c $(OBJ)
659
$(MX) ldlupdate.c $(OBJ)
661
ldlsolve: ldlsolve.c $(OBJ)
662
$(MX) ldlsolve.c $(OBJ)
664
sdmult: sdmult.c $(OBJ)
665
$(MX) sdmult.c $(OBJ)
667
resymbol: resymbol.c $(OBJ)
668
$(MX) resymbol.c $(OBJ)
670
cholmod2: cholmod2.c $(OBJ)
671
$(MX) cholmod2.c $(OBJ)
673
nesdis: nesdis.c $(OBJ)
674
$(MX) nesdis.c $(OBJ)
676
septree: septree.c $(OBJ)
677
$(MX) septree.c $(OBJ)
679
metis: metis.c $(OBJ)
682
etree2: etree2.c $(OBJ)
683
$(MX) etree2.c $(OBJ)
685
bisect: bisect.c $(OBJ)
686
$(MX) bisect.c $(OBJ)
688
symbfact2: symbfact2.c $(OBJ)
689
$(MX) symbfact2.c $(OBJ)
691
sparse2: sparse2.c $(OBJ)
692
$(MX) sparse2.c $(OBJ)
120
694
#-------------------------------------------------------------------------------