Page MenuHomec4science

Makefile
No OneTemporary

File Metadata

Created
Fri, Jun 28, 06:23

Makefile

.DEFAULT_GOAL := all
ifeq ($(PLATFORM),)
$(error Please specify the env variable PLATFORM (mac, intel))
else
$(info *** Using $(PLATFORM).mk ***)
include $(PLATFORM).mk
endif
include .depend
PROG = espic2d
SRCS = main.f90 basic_mod.f90 newrun.f90 restart.f90 \
auxval.f90 inital.f90 resume.f90 start.f90 diagnose.f90 \
stepon.f90 tesend.f90 endrun.f90 chkrst.f90 mv2bk.f90 \
constants.f90 fields_mod.f90 beam_mod.f90 \
mpihelper_mod.f90 sort_mod.f90 distrib_mod.f90 \
maxwellsource_mod.f90
SRCS_C = extra.c
MKDIR_P = mkdir -p
OUT_DIR = release
F90FLAGS += -I$(BSPLINES)/include -I$(FUTILS)/include \
-I$(MUMPS)/include -I../src
LDFLAGS += -L$(BSPLINES)/lib -L$(FUTILS)/lib -L${HDF5}/lib -L${HDF5}/lib \
-L$(MUMPS)/lib -L$(PARMETIS)/lib
LIBS += -lbsplines -lpppack -lfutils -lhdf5_fortran -lhdf5 -lz $(MUMPSLIBS) -lpputils2
ifeq ($(USE_X),)
F90FLAGS+=-DUSE_X=0
else
$(info *** Using Xgrafix ***)
LIBS+=-lXGF -lXGC -lX11
LDFLAGS+=-L/usr/local/xgrafix_1.2/src-double
F90FLAGS+=-DUSE_X=1
SRCS+=xg_mod.f90
endif
OBJS =${SRCS:.f90=.o} ${SRCS_F90:.F90=.o} ${SRCS_C:.c=.o}
debug: F90FLAGS = $(DEBUGFLAGS) -I$(BSPLINES)/include -I$(FUTILS)/include \
-I$(MUMPS)/include -D_DEBUG
debug: OUT_DIR=debug
debug: $(OUT_DIR) all
profile: F90FLAGS+=$(PROFILEFLAGS)
profile: LDFLAGS+= $(PROFILEFLAGS)
profile: OUT_DIR=profile
profile: $(OUT_DIR) all
.PHONY: directories
all: directories $(PROG)
$(PROG): $(OBJS)
$(F90) $(LDFLAGS) $(F90FLAGS) -o $@ $(addprefix ./$(OUT_DIR)/,$(OBJS)) $(LIBS)
mv *.mod ./$(OUT_DIR)/
tags:
etags *.f90
clean:
rm -f $(OBJS) *.mod
distclean: clean
rm -f $(PROG) *~ a.out *.o TAGS
ifeq ($(USE_X),)
diagnose.o : diagnose.f90 fields_mod.o beam_mod.o basic_mod.o
else
diagnose.o : diagnose.f90 fields_mod.o xg_mod.o beam_mod.o basic_mod.o
endif
directories: ${OUT_DIR}
${OUT_DIR}:
${MKDIR_P} ${OUT_DIR}
.SUFFIXES: $(SUFFIXES) .f90 .c
.f90.o:
$(F90) $(F90FLAGS) -c -o ./$(OUT_DIR)/$@ $<
.c.o:
$(CC) $(CCFLAGS) -c -o ./$(OUT_DIR)/$@ $<
depend .depend:
makedepf90 *.[fF]90 > .depend

Event Timeline