1#!make 2 3default: prgs 4DEBUG=1 5ALBERTA_VERSION=2.0 6ALBERTA_DEBUG=1 7 8# Compiler options 9include ../../Make.opt 10 11######################################################################## 12# DFLAGS: DIM, DIM_OF_WORLD # 13######################################################################## 14DIM = 2 15DIM_OF_WORLD = 2 16NEIGH_IN_EL = 0 17ifndef USE_NETCDF 18USE_NCDF = 1 19endif 20#fuer DX, change here if not installed. Construction serves my local purposes. 21######################################################################## 22# get installation details # 23######################################################################## 24include ../../AlbertaNum/Makefile.PATHS 25ifeq ($(ALBERTA_VERSION), 2.0) 26 include $(prefix_mf)/Makefile.alberta 27# alberta 1 kompatibilit�t 28 DFLAGS += -DDIM=$(DIM) -DALBERTA_VER=2 29else 30 include $(ALBERTA_INCLUDE_PATH)/Makefile.alberta 31endif 32######################################################################## 33#netcdf support 34ifdef USE_NCDF 35LDFLAGS += $(NCDFFLAGS) 36endif 37DFLAGS += -DDIM=$(DIM) -DUSE_NCDF=$(USE_NCDF) 38# modify default settings -- always use CXX 39#LINK = $(LIBTOOL) --mode=link --tag=$(CC) g++ $(CFLAGS) $(LDFLAGS) -o $@ 40LD = g++ 41%.o: %.c 42 $(CXX) $(DFLAGS) $(CPPFLAGS) $(CXXFLAGS) -I$(ALBERTA_INCLUDE_PATH) \ 43 -I$(NUM_INCLUDE_PATH) -I$(DX_INCLUDE_PATH) -c $< 44%.o: %.cc 45 $(CXX) $(DFLAGS) $(CPPFLAGS) $(CXXFLAGS) -I$(ALBERTA_INCLUDE_PATH) \ 46 -I$(NUM_INCLUDE_PATH) -I$(DX_INCLUDE_PATH) -c $< 47 48estimator.o: estimator.c 49 $(CC) $(DFLAGS) $(CPPFLAGS) $(CXXFLAGS) -I$(ALBERTA_INCLUDE_PATH) \ 50 -I$(NUM_INCLUDE_PATH) -I$(DX_INCLUDE_PATH) -c $< 51######################################################################## 52# set virtual path # 53######################################################################## 54VPATH = ../Common 55######################################################################## 56#NUM_OFILES = $(NUM_OBJ_PATH)/build_stat.o\ 57# $(NUM_OBJ_PATH)/build_diff.o\ 58# $(NUM_OBJ_PATH)/traverse.o \ 59# $(NUM_OBJ_PATH)/prototype_fem_elfunc.o \ 60# $(NUM_OBJ_PATH)/est.o \ 61# $(NUM_OBJ_PATH)/error_c.o \ 62# $(NUM_OBJ_PATH)/ellipt_est.o \ 63# $(NUM_OBJ_PATH)/parab_est.o \ 64# $(NUM_OBJ_PATH)/sys_est.o \ 65# $(NUM_OBJ_PATH)/fem_base.o \ 66# $(NUM_OBJ_PATH)/adapt.o $(NUM_OBJ_PATH)/operator_parts.o \ 67# $(NUM_OBJ_PATH)/alloc.o \ 68# $(NUM_OBJ_PATH)/msg.o \ 69# $(NUM_OBJ_PATH)/master.o 70 71ANUMLIBS = -L../../AlbertaNum/2d -lAlbertaNum2d 72 73ifdef USE_NCDF 74DX_OFILES = $(DX_OBJ_PATH)/dxexport.o 75endif 76 77.PHONY: all prgs objs clean objs_num 78 79prgs: numlibs objs demoheat obj_heat 80 81objs: demographics.o demoheat.o heat_problem.o heat.o obj_heat.o 82 83all: prgs objs 84 85realclean: 86 make -C $(NUM_OBJ_PATH) clean 87 make -C $(DX_OBJ_PATH) clean 88 make clean 89 90rebuild: 91 make -C $(NUM_OBJ_PATH) clean 92 make -C $(DX_OBJ_PATH) clean 93 make clean 94 make 95 96 97numlibs: 98 make -C $(NUM_OBJ_PATH) libs 99 100clean: 101 rm -f *.o 102 103demoheat: demoheat.o demographics.o estimator.o $(DX_OFILES) 104 $(LINK) $^ $(LIBS) 105 106#wie erreiche ich sinnvoll abhaengigkeit von AlbertaNum2d? 107obj_heat: obj_heat.o heat.o heat_problem.o demographics.o $(DX_OFILES) 108 $(LINK) $^ $(ANUMLIBS) $(LIBS) 109 110ifdef USE_NCDF 111$(DX_OFILES): dxobjs 112 113dxobjs: 114 make -C $(DX_OBJ_PATH) objs 115endif 116######################################################################## 117# semi-automatically generated by g++ -MM # 118######################################################################## 119