######################################################################## # exemple de makefile gmfe3 # # # # utilisation : make # # make clean (efface les objets et l'exécutable) # ######################################################################## SHELL = /bin/bash ######################################################################## # choix du compilateur : # # PLAT=intel pour Compilateur Intel # # PLAT=gnu pour compilateur Gnu # ######################################################################## PLAT=intel ######################################################################## # compilateur intel # ######################################################################## F77_intel = ifort FLINKER_intel = ifort # options de compilation # vectorisation activée -xW vérifier l'impact sur les temps CPU F77_FLAGS_intel = -tpp7 -xW -O3 F77_LDFLAGS_intel = $(F77_FLAGS_intel) # librairies (ici MKL). rmq ; la variable MKLPATH doit être définie dans # votre fichier .bash_profile LIBS_intel = $(MKL)/libmkl_lapack.a $(MKL)/libmkl_ia32.a -lguide -lpthread ######################################################################## # compilateur GNU # ######################################################################## F77_gnu = g77 FLINKER_gnu = g77 # options de compilation F77_FLAGS_gnu = -O3 F77_LDFLAGS_gnu = $(F77_FLAGS_gnu) # librairies (ici LAPACK) LIBS_gnu = /usr/local/lapack_LINUX.a ######################################################################## # nom exécutable NOMEXE=test default: make $(NOMEXE) OBJ1= test.o \ ddot.o ####################################################################### # exécutable (édition de liens Fortan) $(NOMEXE): $(OBJ1) $(FLINKER_$(PLAT)) $(F77_LDFLAGS_$(PLAT)) -o $(NOMEXE) \ $(OBJ1) \ $(LIBS_$(PLAT)) # suffixes .SUFFIXES: .cpp .F # exemple de gestion de la dépendance des fichiers include #test.o: mon_fichier_include.h # règle de compilation .f.o: $(F77_$(PLAT)) $(F77_FLAGS_$(PLAT)) -c $< # ménage clean: /bin/rm -f $(OBJ1) $(NOMEXE)