Razlika između inačica stranice CMBFAST
Izvor: HrOpenWiki
m (Nova stranica: * [http://lambda.gsfc.nasa.gov/toolbox/tb_cmbfast_ov.cfm Overview of CMBFAST @ NASA]) |
m |
||
Nisu prikazane 3 međuinačice istog suradnika | |||
Redak 1: | Redak 1: | ||
+ | ==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: | ||
+ | <source lang=make> | ||
+ | # 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 | ||
+ | </source> | ||
+ | Tada se prevođenje pokreće samo s naredbom ''make''. | ||
+ | |||
+ | ==Izvori i reference== | ||
* [http://lambda.gsfc.nasa.gov/toolbox/tb_cmbfast_ov.cfm Overview of CMBFAST @ NASA] | * [http://lambda.gsfc.nasa.gov/toolbox/tb_cmbfast_ov.cfm Overview of CMBFAST @ NASA] |
Trenutačna izmjena od 06:30, 2. lipnja 2010.
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.