#------------------------------------------------------------------------------- # UMFPACK Makefile for compiling on Unix systems #------------------------------------------------------------------------------- # Select your architecture by un-commenting the appropriate line include Make.generic # include Make.linux # include Make.sgi # include Make.solaris # include Make.alpha # include Make.rs6000 #------------------------------------------------------------------------------- # no modifications should be necessary below this line. #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # The UMFPACK files: #------------------------------------------------------------------------------- all: umfpack_demo umfpack_l_demo umfpack_simple umfpack.a INC = umfpack.h umf_config.h umf_version.h umf_internal.h \ umf_analyze.h umf_apply_order.h umf_assemble.h umf_blas3_update.h \ umf_build_tuples.h umf_build_tuples_usage.h umf_colamd.h \ umf_create_element.h umf_dump.h umf_extend_front.h \ umf_free.h umf_garbage_collection.h umf_get_memory.h umf_init_front.h \ umf_is_permutation.h umf_kernel.h umf_kernel_init.h \ umf_kernel_init_usage.h umf_kernel_wrapup.h umf_local_search.h \ umf_lsolve.h umf_ltsolve.h umf_malloc.h umf_mem_alloc_element.h \ umf_mem_alloc_head_block.h umf_mem_alloc_tail_block.h \ umf_mem_free_tail_block.h umf_mem_init_memoryspace.h \ umf_order_front_tree.h umf_report_perm.h umf_realloc.h \ umf_report_vector.h umf_row_search.h umf_scale_column.h \ umf_set_stats.h umf_solve.h umf_symbolic_usage.h \ umf_transpose.h umf_tuple_lengths.h umf_usolve.h umf_utsolve.h \ umf_valid_numeric.h umf_valid_symbolic.h umfpack_col_to_triplet.h \ umfpack_defaults.h umfpack_free_numeric.h umfpack_free_symbolic.h \ umfpack_get_numeric.h umfpack_get_lunz.h umfpack_get_symbolic.h \ umfpack_numeric.h umfpack_qsymbolic.h umfpack_report_control.h \ umfpack_report_info.h umfpack_report_matrix.h umfpack_report_numeric.h \ umfpack_report_perm.h umfpack_report_status.h \ umfpack_report_symbolic.h umfpack_report_triplet.h \ umfpack_report_vector.h umfpack_solve.h umfpack_symbolic.h \ umfpack_transpose.h umfpack_triplet_to_col.h umfpack_wsolve.h \ umfpack_timer.h # Double precision, int version: DI = umf_analyze.o umf_apply_order.o umf_assemble.o umf_blas3_update.o \ umf_build_tuples.o umf_build_tuples_usage.o umf_colamd.o \ umf_create_element.o umf_dump.o umf_extend_front.o \ umf_free.o umf_garbage_collection.o umf_get_memory.o umf_init_front.o \ umf_is_permutation.o umf_kernel.o umf_kernel_init.o \ umf_kernel_init_usage.o umf_kernel_wrapup.o umf_local_search.o \ umf_lsolve.o umf_ltsolve.o umf_malloc.o umf_mem_alloc_element.o \ umf_mem_alloc_head_block.o umf_mem_alloc_tail_block.o \ umf_mem_free_tail_block.o umf_mem_init_memoryspace.o \ umf_order_front_tree.o umf_report_perm.o umf_realloc.o \ umf_report_vector.o umf_row_search.o umf_scale_column.o \ umf_set_stats.o umf_solve.o umf_symbolic_usage.o \ umf_transpose.o umf_tuple_lengths.o umf_usolve.o umf_utsolve.o \ umf_valid_numeric.o umf_valid_symbolic.o umfpack_col_to_triplet.o \ umfpack_defaults.o umfpack_free_numeric.o umfpack_free_symbolic.o \ umfpack_get_numeric.o umfpack_get_lunz.o umfpack_get_symbolic.o \ umfpack_numeric.o umfpack_qsymbolic.o umfpack_report_control.o \ umfpack_report_info.o umfpack_report_matrix.o umfpack_report_numeric.o \ umfpack_report_perm.o umfpack_report_status.o \ umfpack_report_symbolic.o umfpack_report_triplet.o \ umfpack_report_vector.o umfpack_solve.o umfpack_symbolic.o \ umfpack_transpose.o umfpack_triplet_to_col.o umfpack_wsolve.o # Double precision, long version: DL = umfl_analyze.o umfl_apply_order.o umfl_assemble.o umfl_blas3_update.o \ umfl_build_tuples.o umfl_build_tuples_usage.o umfl_colamd.o \ umfl_create_element.o umfl_dump.o umfl_extend_front.o \ umfl_free.o umfl_garbage_collection.o umfl_get_memory.o \ umfl_init_front.o umfl_is_permutation.o umfl_kernel.o \ umfl_kernel_init.o umfl_kernel_init_usage.o umfl_kernel_wrapup.o \ umfl_local_search.o umfl_lsolve.o umfl_ltsolve.o umfl_malloc.o \ umfl_mem_alloc_element.o umfl_mem_alloc_head_block.o \ umfl_mem_alloc_tail_block.o umfl_mem_free_tail_block.o \ umfl_mem_init_memoryspace.o umfl_order_front_tree.o umfl_report_perm.o \ umfl_realloc.o umfl_report_vector.o umfl_row_search.o \ umfl_scale_column.o umfl_set_stats.o umfl_solve.o \ umfl_symbolic_usage.o umfl_transpose.o umfl_tuple_lengths.o \ umfl_usolve.o umfl_utsolve.o umfl_valid_numeric.o \ umfl_valid_symbolic.o umfpack_l_col_to_triplet.o umfpack_l_defaults.o \ umfpack_l_free_numeric.o umfpack_l_free_symbolic.o \ umfpack_l_get_numeric.o umfpack_l_get_lunz.o umfpack_l_get_symbolic.o \ umfpack_l_numeric.o umfpack_l_qsymbolic.o umfpack_l_report_control.o \ umfpack_l_report_info.o umfpack_l_report_matrix.o \ umfpack_l_report_numeric.o umfpack_l_report_perm.o \ umfpack_l_report_status.o umfpack_l_report_symbolic.o \ umfpack_l_report_triplet.o umfpack_l_report_vector.o \ umfpack_l_solve.o umfpack_l_symbolic.o umfpack_l_transpose.o \ umfpack_l_triplet_to_col.o umfpack_l_wsolve.o # routines that don't depend on int/long version: GENERIC = umfpack_timer.o SRC = umf_analyze.c umf_apply_order.c umf_assemble.c umf_blas3_update.c \ umf_build_tuples.c umf_build_tuples_usage.c umf_colamd.c \ umf_create_element.c umf_dump.c umf_extend_front.c \ umf_free.c umf_garbage_collection.c umf_get_memory.c umf_init_front.c \ umf_is_permutation.c umf_kernel.c umf_kernel_init.c \ umf_kernel_init_usage.c umf_kernel_wrapup.c umf_local_search.c \ umf_lsolve.c umf_ltsolve.c umf_malloc.c umf_mem_alloc_element.c \ umf_mem_alloc_head_block.c umf_mem_alloc_tail_block.c \ umf_mem_free_tail_block.c umf_mem_init_memoryspace.c \ umf_order_front_tree.c umf_report_perm.c umf_realloc.c \ umf_report_vector.c umf_row_search.c umf_scale_column.c \ umf_set_stats.c umf_solve.c umf_symbolic_usage.c umfpack_timer.c \ umf_transpose.c umf_tuple_lengths.c umf_usolve.c umf_utsolve.c \ umf_valid_numeric.c umf_valid_symbolic.c umfpack_col_to_triplet.c \ umfpack_defaults.c umfpack_free_numeric.c umfpack_free_symbolic.c \ umfpack_get_numeric.c umfpack_get_lunz.c umfpack_get_symbolic.c \ umfpack_numeric.c umfpack_qsymbolic.c umfpack_report_control.c \ umfpack_report_info.c umfpack_report_matrix.c umfpack_report_numeric.c \ umfpack_report_perm.c umfpack_report_status.c \ umfpack_report_symbolic.c umfpack_report_triplet.c \ umfpack_report_vector.c umfpack_solve.c umfpack_symbolic.c \ umfpack_transpose.c umfpack_triplet_to_col.c umfpack_wsolve.c #------------------------------------------------------------------------------- # compile each routine in the DL version #------------------------------------------------------------------------------- umfl_analyze.o: umf_analyze.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_analyze.c -o umfl_analyze.o umfl_apply_order.o: umf_apply_order.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_apply_order.c -o umfl_apply_order.o umfl_assemble.o: umf_assemble.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_assemble.c -o umfl_assemble.o umfl_blas3_update.o: umf_blas3_update.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_blas3_update.c -o umfl_blas3_update.o umfl_build_tuples.o: umf_build_tuples.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_build_tuples.c -o umfl_build_tuples.o umfl_build_tuples_usage.o: umf_build_tuples_usage.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_build_tuples_usage.c -o umfl_build_tuples_usage.o umfl_colamd.o: umf_colamd.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_colamd.c -o umfl_colamd.o umfl_create_element.o: umf_create_element.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_create_element.c -o umfl_create_element.o umfl_dump.o: umf_dump.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_dump.c -o umfl_dump.o umfl_extend_front.o: umf_extend_front.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_extend_front.c -o umfl_extend_front.o umfl_free.o: umf_free.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_free.c -o umfl_free.o umfl_garbage_collection.o: umf_garbage_collection.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_garbage_collection.c -o umfl_garbage_collection.o umfl_get_memory.o: umf_get_memory.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_get_memory.c -o umfl_get_memory.o umfl_init_front.o: umf_init_front.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_init_front.c -o umfl_init_front.o umfl_is_permutation.o: umf_is_permutation.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_is_permutation.c -o umfl_is_permutation.o umfl_kernel.o: umf_kernel.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_kernel.c -o umfl_kernel.o umfl_kernel_init.o: umf_kernel_init.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_kernel_init.c -o umfl_kernel_init.o umfl_kernel_init_usage.o: umf_kernel_init_usage.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_kernel_init_usage.c -o umfl_kernel_init_usage.o umfl_kernel_wrapup.o: umf_kernel_wrapup.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_kernel_wrapup.c -o umfl_kernel_wrapup.o umfl_local_search.o: umf_local_search.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_local_search.c -o umfl_local_search.o umfl_lsolve.o: umf_lsolve.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_lsolve.c -o umfl_lsolve.o umfl_ltsolve.o: umf_ltsolve.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_ltsolve.c -o umfl_ltsolve.o umfl_malloc.o: umf_malloc.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_malloc.c -o umfl_malloc.o umfl_mem_alloc_element.o: umf_mem_alloc_element.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_mem_alloc_element.c -o umfl_mem_alloc_element.o umfl_mem_alloc_head_block.o: umf_mem_alloc_head_block.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_mem_alloc_head_block.c -o umfl_mem_alloc_head_block.o umfl_mem_alloc_tail_block.o: umf_mem_alloc_tail_block.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_mem_alloc_tail_block.c -o umfl_mem_alloc_tail_block.o umfl_mem_free_tail_block.o: umf_mem_free_tail_block.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_mem_free_tail_block.c -o umfl_mem_free_tail_block.o umfl_mem_init_memoryspace.o: umf_mem_init_memoryspace.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_mem_init_memoryspace.c -o umfl_mem_init_memoryspace.o umfl_order_front_tree.o: umf_order_front_tree.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_order_front_tree.c -o umfl_order_front_tree.o umfl_report_perm.o: umf_report_perm.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_report_perm.c -o umfl_report_perm.o umfl_realloc.o: umf_realloc.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_realloc.c -o umfl_realloc.o umfl_report_vector.o: umf_report_vector.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_report_vector.c -o umfl_report_vector.o umfl_row_search.o: umf_row_search.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_row_search.c -o umfl_row_search.o umfl_scale_column.o: umf_scale_column.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_scale_column.c -o umfl_scale_column.o umfl_set_stats.o: umf_set_stats.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_set_stats.c -o umfl_set_stats.o umfl_solve.o: umf_solve.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_solve.c -o umfl_solve.o umfl_symbolic_usage.o: umf_symbolic_usage.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_symbolic_usage.c -o umfl_symbolic_usage.o umfl_transpose.o: umf_transpose.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_transpose.c -o umfl_transpose.o umfl_tuple_lengths.o: umf_tuple_lengths.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_tuple_lengths.c -o umfl_tuple_lengths.o umfl_usolve.o: umf_usolve.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_usolve.c -o umfl_usolve.o umfl_utsolve.o: umf_utsolve.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_utsolve.c -o umfl_utsolve.o umfl_valid_numeric.o: umf_valid_numeric.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_valid_numeric.c -o umfl_valid_numeric.o umfl_valid_symbolic.o: umf_valid_symbolic.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umf_valid_symbolic.c -o umfl_valid_symbolic.o umfpack_l_col_to_triplet.o: umfpack_col_to_triplet.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umfpack_col_to_triplet.c -o umfpack_l_col_to_triplet.o umfpack_l_defaults.o: umfpack_defaults.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umfpack_defaults.c -o umfpack_l_defaults.o umfpack_l_free_numeric.o: umfpack_free_numeric.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umfpack_free_numeric.c -o umfpack_l_free_numeric.o umfpack_l_free_symbolic.o: umfpack_free_symbolic.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umfpack_free_symbolic.c -o umfpack_l_free_symbolic.o umfpack_l_get_numeric.o: umfpack_get_numeric.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umfpack_get_numeric.c -o umfpack_l_get_numeric.o umfpack_l_get_lunz.o: umfpack_get_lunz.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umfpack_get_lunz.c -o umfpack_l_get_lunz.o umfpack_l_get_symbolic.o: umfpack_get_symbolic.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umfpack_get_symbolic.c -o umfpack_l_get_symbolic.o umfpack_l_numeric.o: umfpack_numeric.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umfpack_numeric.c -o umfpack_l_numeric.o umfpack_l_qsymbolic.o: umfpack_qsymbolic.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umfpack_qsymbolic.c -o umfpack_l_qsymbolic.o umfpack_l_report_control.o: umfpack_report_control.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umfpack_report_control.c -o umfpack_l_report_control.o umfpack_l_report_info.o: umfpack_report_info.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umfpack_report_info.c -o umfpack_l_report_info.o umfpack_l_report_matrix.o: umfpack_report_matrix.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umfpack_report_matrix.c -o umfpack_l_report_matrix.o umfpack_l_report_numeric.o: umfpack_report_numeric.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umfpack_report_numeric.c -o umfpack_l_report_numeric.o umfpack_l_report_perm.o: umfpack_report_perm.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umfpack_report_perm.c -o umfpack_l_report_perm.o umfpack_l_report_status.o: umfpack_report_status.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umfpack_report_status.c -o umfpack_l_report_status.o umfpack_l_report_symbolic.o: umfpack_report_symbolic.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umfpack_report_symbolic.c -o umfpack_l_report_symbolic.o umfpack_l_report_triplet.o: umfpack_report_triplet.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umfpack_report_triplet.c -o umfpack_l_report_triplet.o umfpack_l_report_vector.o: umfpack_report_vector.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umfpack_report_vector.c -o umfpack_l_report_vector.o umfpack_l_solve.o: umfpack_solve.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umfpack_solve.c -o umfpack_l_solve.o umfpack_l_symbolic.o: umfpack_symbolic.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umfpack_symbolic.c -o umfpack_l_symbolic.o umfpack_l_transpose.o: umfpack_transpose.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umfpack_transpose.c -o umfpack_l_transpose.o umfpack_l_triplet_to_col.o: umfpack_triplet_to_col.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umfpack_triplet_to_col.c -o umfpack_l_triplet_to_col.o umfpack_l_wsolve.o: umfpack_wsolve.c $(INC) $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c umfpack_wsolve.c -o umfpack_l_wsolve.o # Note: the above set of rules for the long version can be replaced with the # following two rules, on Solaris and Linux, but not on the SGI or RS6000: # # umfl_%.o: umf_%.c $(INC) # $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c -o $@ $< # # umfpack_l_%.o: umfpack_%.c $(INC) # $(CC) -DDLONG $(CFLAGS) $(CONFIG) -DNDEBUG -c -o $@ $< #------------------------------------------------------------------------------- # Create the double precision, int version, and the generic routines #------------------------------------------------------------------------------- $(DI): $(INC) $(GENERIC): $(INC) .c.o: $(CC) -DDINT $(CFLAGS) $(CONFIG) -DNDEBUG -c $< #------------------------------------------------------------------------------- # Create the umfpack.a library #------------------------------------------------------------------------------- umfpack.a: $(DI) $(DL) $(GENERIC) ar cr umfpack.a $(DI) $(DL) $(GENERIC) - $(RANLIB) umfpack.a - cat License #------------------------------------------------------------------------------- # Create the two demo programs, run them, and compare the output #------------------------------------------------------------------------------- umfpack_demo: umfpack_demo.c $(INC) umfpack.a $(CC) $(CFLAGS) $(CONFIG) -DNDEBUG -o umfpack_demo umfpack_demo.c umfpack.a $(LIB) ./umfpack_demo > my_umfpack_demo.out - diff umfpack_demo.out my_umfpack_demo.out umfpack_l_demo: umfpack_l_demo.c $(INC) umfpack.a $(CC) $(CFLAGS) $(CONFIG) -DNDEBUG -o umfpack_l_demo umfpack_l_demo.c umfpack.a $(LIB) ./umfpack_l_demo > my_umfpack_l_demo.out - diff umfpack_l_demo.out my_umfpack_l_demo.out umfpack_simple: umfpack_simple.c $(INC) umfpack.a $(CC) $(CFLAGS) $(CONFIG) -DNDEBUG -o umfpack_simple umfpack_simple.c umfpack.a $(LIB) - cat License ./umfpack_simple #------------------------------------------------------------------------------- # Clean-up. After making umfpack.a, you can do "make clean" #------------------------------------------------------------------------------- clean: - rm *.o *.obj *.ln #------------------------------------------------------------------------------- # Remove all but the files in the original distribution #------------------------------------------------------------------------------- purge: - rm *.o *.obj *.ln - rm umfpack.a umfpack_demo umfpack_simple umfpack_l_demo - rm umfpack.mex* umfpack.dll - rm UserGuide.aux UserGuide.bbl UserGuide.blg - rm UserGuide.log UserGuide.toc - rm my_umfpack_demo.out my_umfpack_l_demo.out #------------------------------------------------------------------------------- # Create the umfpack mexFunction for Matlab. The *.o files are removed so that # they are not confused with the stand-alone *.o files (for umfpack.a). #------------------------------------------------------------------------------- umfpack: umfpackmex.c $(SRC) $(INC) - rm *.o *.obj mex -inline -v -O -DNCBLAS -DNDEBUG -output umfpack umfpackmex.c $(SRC) - rm *.o *.obj #------------------------------------------------------------------------------- # Create the User Guide. This assumes you have m4, latex, and ghostscript. # The User Guide comes pre-made (UserGuide.ps and UserGuide.pdf) so you # shouldn't need to create it here. #------------------------------------------------------------------------------- UserGuide.tex: UserGuide.m4tex $(INC) umfpack_simple.c umfpack_demo.c m4 UserGuide.m4tex | expand -8 > UserGuide.tex UserGuide.ps: UserGuide.tex UserGuide.bib latex UserGuide bibtex UserGuide latex UserGuide latex UserGuide dvips UserGuide UserGuide.pdf: UserGuide.ps ps2pdf UserGuide.ps UserGuide.pdf #------------------------------------------------------------------------------- # lint the source. #------------------------------------------------------------------------------- lint: lint $(LINTFLAGS) -DDINT -DNBLAS umfpack_demo.c $(SRC) lint $(LINTFLAGS) -DDLONG -DNBLAS umfpack_l_demo.c $(SRC)