Razlika između inačica stranice CMBFAST

Izvor: HrOpenWiki
Skoči na: orijentacija, traži
m (Kompajliranje)
m
 
Nije prikazana jedna međuinačica istog suradnika
Redak 1: Redak 1:
==Kompajliranje==
+
==Prevođenje==
U [[make]] datoteci specificiran je kompajler f77, no taj često nije dostupan u repozitorijima distribucija, stoga je prigodnije koristiti [[GNU]]-ov kompajler [[gfortran]].
+
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==
 
==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.

Izvori i reference