# # standard data types and linalg: # srcbasic = basiclinalg/cholesky.cpp basiclinalg/calcinverse.cpp \ basiclinalg/vecmat.cpp basiclinalg/bandmatrix.cpp \ basiclinalg/eigensystem.cpp \ linalg/basevector.cpp linalg/vvector.cpp linalg/basematrix.cpp \ linalg/sparsematrix.cpp linalg/special_matrix.cpp linalg/cg.cpp \ linalg/chebyshev.cpp \ linalg/eigen.cpp linalg/order.cpp linalg/sparsecholesky.cpp \ linalg/pardisoinverse.cpp linalg/superluinverse.cpp \ linalg/jacobi.cpp linalg/blockjacobi.cpp linalg/commutingAMG.cpp \ ngstd/exception.cpp ngstd/table.cpp ngstd/bitarray.cpp \ ngstd/flags.cpp ngstd/symboltable.cpp ngstd/blockalloc.cpp \ ngstd/evalfunc.cpp ngstd/templates.cpp ngstd/localheap.cpp # # # finite elements: # # srcfem = fem/elementtopology.cpp fem/intrule.cpp fem/integrator.cpp \ fem/bdbequations.cpp fem/maxwellintegrator.cpp fem/hdiv_equations.cpp \ fem/finiteelement.cpp fem/coefficient.cpp fem/specialelement.cpp \ fem/hcurlfe.cpp fem/hdivfe.cpp fem/hdivhofe.cpp fem/equilibrium.cpp \ fem/highorderfe.cpp \ fem/h1hofe.cpp fem/l2hofe.cpp fem/recursive_pol_trig.cpp fem/recursive_pol.cpp \ fem/hcurlhofe.cpp fem/pml.cpp fem/fastmat.cpp # # # high level components: # # srccomp = comp/hdivhofespace.cpp comp/preconditioner.cpp comp/hcurlhdivfes.cpp comp/hdivfes.cpp \ comp/bilinearform.cpp \ comp/linearform.cpp comp/gridfunction.cpp comp/meshaccess.cpp \ comp/fespace.cpp comp/postproc.cpp comp/hierarchicalee.cpp comp/h1hofespace.cpp comp/highorderfes.cpp \ comp/l2hofespace.cpp comp/bem.cpp comp/hcurlhofespace.cpp srcmultigrid = multigrid/mgpre.cpp multigrid/smoother.cpp multigrid/prolongation.cpp # SuperLU sparse direct solver: # src_superlu = linalg/superlu/*.c # # # # These files can be commented out: # # src = ngsolve.cpp $(srcmultigrid) $(srccomp) $(srcfem) \ solve/shapetester.cpp solve/numproc.cpp solve/bvp.cpp solve/evplapack.cpp solve/numprocee.cpp \ solve/nonlinelast.cpp \ solve/pde.cpp solve/pdeparser.cpp # # # # solve/nptests.cpp # src2 = $(srcbasic) $(src_superlu) # # # lib = ../lib/$(MACHINE)/libngsolve.a lib2 = ../lib/$(MACHINE)/libngsolvebasic.a libold = ../lib/$(MACHINE)/libngsolve_oldla.a # # # include ../libsrc/makefile.mach.$(MACHINE) # # # .PRECIOUS: .cpp .hh # .SUFFIXES: .cpp .o # # .cpp.o: # $(CPLUSPLUS) -c $< # # # # # make lib from sources: # goal: $(lib) $(lib2) # pebblesinc = -I../../pebbles_old/libsrc/setup -I../../pebbles_old/libsrc/solver -I../../pebbles_old/libsrc/prepro -I../../pebbles_old/libsrc/parallel -I../../pebbles_old/libsrc # $(lib):: $(src) $(CPLUSPLUS) -c -I. -I../libsrc -I../libsrc/include -I../libsrc/interface -Iinclude $(pebblesinc) $(CPLUSPLUSFLAGS2) $(CPLUSPLUSFLAGS3) -DNETGEN_ELTRANS $? $(AR) $(ARFLAGS) $@ *.o mv *.o ../lib/$(MACHINE) -$(RM) *.o -@$(RANLIB) $@ # $(lib2):: $(src2) $(CPLUSPLUS) -c -I. -I../libsrc/interface -Iinclude $(CPLUSPLUSFLAGS2) $(CPLUSPLUSFLAGS3) $? $(AR) $(ARFLAGS) $@ *.o -$(RM) *.o -@$(RANLIB) $@ # # # # DOC_OPTIONS = --filenames --before-group --before-class -p -d doc++ # .PHONY : doc doc: @echo "Creating doc++ documentation" doc++ $(DOC_OPTIONS) ngs.dxx # cd ngstd; doc++ $(DOC_OPTIONS) ngstd_main.dxx; cd ..; # cd basiclinalg; doc++ $(DOC_OPTIONS) ngbla_main.dxx; cd ..; # cd linalg; doc++ $(DOC_OPTIONS) ngla_main.dxx; cd ..; # # # .PHONY : clean clean: rm *~ */*~ *.s *.ii # #