Advertisement
Guest User

Untitled

a guest
Dec 22nd, 2014
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. ROOT = $(addprefix $(PWD), /)
  2. BUILDS_DIR = $(addprefix $(ROOT), builds/)
  3. SRCS_DIR = $(addprefix $(ROOT), src/)
  4. INCS_DIR = $(addprefix $(ROOT), src/)
  5. OBJS_DIR = $(addprefix $(SRCS_DIR), objects/)
  6. LIBS_DIR = ./
  7.  
  8. MUMPS_DIR = $(MUMPS_ROOT)
  9. MUMPS_INCS_DIR = $(addprefix $(MUMPS_DIR), /include)
  10. MUMPS_LIB_DIR = $(addprefix $(MUMPS_DIR), /lib)
  11. MUMPS_MPI_DIR = $(addprefix $(MUMPS_DIR), /libseq)
  12.  
  13. SRCS = $(wildcard $(SRCS_DIR)*.c)
  14. OBJS = $(SRCS:$(SRCS_DIR)%.c=$(OBJS_DIR)%.o)
  15. MUMPS = MUMPS
  16.  
  17. TARGET = APOGEE
  18.  
  19. EXES = $(addprefix $(BUILDS_DIR), $(TARGET))
  20.  
  21. CC = gcc
  22. CFLAGS = -O3 -MD -DTRILIBRARY
  23. INCLUDES = -I$(INCS_DIR) -I$(MUMPS_INCS_DIR)
  24. # CL = gcc
  25. FL = f95
  26. LFLAGS = -O
  27. LIBS = -L$(LIBS_DIR) -lm -lblas -lpthread
  28. LIBS += -L$(MUMPS_LIB_DIR) -ldmumps -lmumps_common -lpord -L$(MUMPS_MPI_DIR) -lmpiseq
  29.  
  30. RM = rm -f
  31. .PHONY: all $(MUMPS) $(TARGET) distclean clean
  32. default: $(MUMPS) $(TARGET)
  33.  
  34. $(TARGET): $(OBJS)
  35. @echo -e "nntt*** Compiled $(TARGET) successfully! ***n" ;
  36. $(FL) $(LFLAGS) -o $(BUILDS_DIR)$@
  37. $(OBJS)
  38. $(LIBS)
  39. @echo -e "nntt*** Linking $(TARGET) completed! ***n"
  40. $(OBJS): $(OBJS_DIR)%.o : $(SRCS_DIR)%.c
  41. $(CC) $(CFLAGS) $(INCLUDES)
  42. -c $<
  43. -o $@
  44. $(MUMPS):
  45. (cd $(MUMPS_DIR) ; $(MAKE) ; cd $(ROOT)) ;
  46. @echo -e "nntt*** Compiled $(MUMPS) successfully! ***n" ;
  47. distclean: clean
  48. $(RM) $(EXES)
  49. (cd $(MUMPS_DIR) ; $(MAKE) clean ; cd $(ROOT)) ;
  50. @echo -e "nntt*** Purge $(MUMPS) and $(TARGET) completed! ***n"
  51. clean:
  52. $(RM) $(OBJS_DIR)*.o
  53. $(SRCS_DIR)*~
  54. @echo -e "nntt*** Cleanup $(TARGET) completed! ***n"
  55. depend: $(SRCS)
  56. makedepend $(INCLUDES) $^
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement