CMBFAST

Izvor: HrOpenWiki
Skoči na: orijentacija, traži

Prevođenje

U make je datoteci specificiran prevoditelj f77, no taj često nije dostupan u repozitorijima distribucija, stoga je prigodnije koristiti GNU-ov prevoditelj za FORTRAN gfortran.

Make datoteka

Make datoteka bi trebala izgledati ovako:

# makros
CC = gcc
CFLAGS = -O2
FORTRAN = gfortran
FFLAGS = -O3

OBJCMB = driver.o cmbflat.o cmbopen.o lensing.o subroutines.o dverk.o recfast.o
RM = rm

# exec files
all: jlgen ujlgen jlens cmb

cmb: ${OBJCMB} 
	$(FORTRAN) $(FFLAGS) -o $@ ${OBJCMB} ${LIBCMB}
jlens: jlens.o
	$(FORTRAN) $(FFLAGS) -o $@ jlens.o ${LIBCMB}
jlgen:  jlgen.o
	$(FORTRAN) $(FFLAGS) -o $@ jlgen.o ${LIBCMB}
ujlgen:  ujlgen.o
	$(FORTRAN) $(FFLAGS) -o $@ ujlgen.o ${LIBCMB}
ujlread:  ujlread.o hyperjl.o
	$(FORTRAN) $(FFLAGS) -o $@ ujlread.o hyperjl.o ${LIBCMB}

# object files
hyperjl.o: hyperjl.c hyperjl.h
	$(CC) $(CFLAGS) -c hyperjl.c
jlgen.o: cmbfast.inc lvalues.inc jlgen.f
	$(FORTRAN) $(FFLAGS) -c jlgen.f
ujlgen.o: cmbfast.inc lvalues.inc ujlgen.f
	$(FORTRAN) $(FFLAGS) -c ujlgen.f
cmbflat.o: cmbfast.inc cmbflat.f
	$(FORTRAN) $(FFLAGS) -c cmbflat.f
cmbopen.o: cmbfast.inc cmbopen.f
	$(FORTRAN) $(FFLAGS) -c cmbopen.f
subroutines.o: cmbfast.inc lvalues.inc subroutines.f
	$(FORTRAN) $(FFLAGS) -c subroutines.f
jlens.o: cmbfast.inc 
	$(FORTRAN) $(FFLAGS) -c jlens.f
lensing.o: cmbfast.inc lensing.f
	$(FORTRAN) $(FFLAGS) -c lensing.f
driver.o: cmbfast.inc driver.f
	$(FORTRAN) $(FFLAGS) -c driver.f
dverk.o: dverk.f
	$(FORTRAN) $(FFLAGS) -c dverk.f
recfast.o: recfast.f
	$(FORTRAN) $(FFLAGS) -c recfast.f

# clean procedure
clean:
	${RM} *.o jlgen ujlgen jlens cmb

Tada se prevođenje pokreće samo s naredbom make.

Izvori i reference