From owner-freebsd-questions Mon Feb 1 21:41:39 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id VAA14262 for freebsd-questions-outgoing; Mon, 1 Feb 1999 21:41:39 -0800 (PST) (envelope-from owner-freebsd-questions@FreeBSD.ORG) Received: from revolution.3-cities.com (revolution.3-cities.com [204.203.224.155]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id VAA14255 for ; Mon, 1 Feb 1999 21:41:35 -0800 (PST) (envelope-from kstewart@3-cities.com) Received: from 3-cities.com (kenn1253.bossig.com [208.26.241.253]) by revolution.3-cities.com (8.8.5/8.7.3) with ESMTP id VAA09232; Mon, 1 Feb 1999 21:41:05 -0800 (PST) Message-ID: <36B68FF4.48331073@3-cities.com> Date: Mon, 01 Feb 1999 21:41:08 -0800 From: Kent Stewart Organization: Columbia Basin Virtual Community Project X-Mailer: Mozilla 4.5 [en] (WinNT; U) X-Accept-Language: en MIME-Version: 1.0 To: Greg Lehey CC: "freebsd-questions@FreeBSD.org" Subject: Re: Make File Generator References: <36B5FF82.D89176C1@3-cities.com> <19990202094916.R71384@freebie.lemis.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG I had thought about gmake. The gmake manual is intimdating. It is easy to modify something that is generated and works. Creating the makefile from scratch is something else. I also assumed that I needed to supply parameters to the veraious steps. Your suggested sequence was so simple that it was worth it to see what it would do. The problem is that the main program overwhelms the table and kills the build on the first module and continues on. The message I get is that I have to supply -Nn802 to f77 for the main program. I don't think it would matter if the table was extended for all of the modules. I didn't capture the output; however, the defaults appear to work for everything else. The other thing is that this process isn't generating object output and it takes about 45 minutes to compile everything. That becomes a serious problem because it recompiles everything, everytime. A make generator should create something that looks like stuff ... main.o : main.f f77 -? main.f link1.o : link1.f f77 -? link1.f and etc. for all of the functions and subroutines. This depends on a ".o" being created for each compiled module, which reduces the recompiles to the changed module. I haven't seen an object file. The basic process is complicated because f77 isn't a real compiler. It calls f2c which takes the FORTRAN code and produces c code. Then, it compiles the c code with gcc. A simple compile and make with f77 produces nothing but the a.out. I am really trying to make this program run on a PC where I have to cope with 32 bit floats and integers instead of 64 bit - everythings. Unicos and CFT77 (Cray) and FreeBSD and f77 only appear to have common roots. A much older version runs on a Sun box and this newer version would be nice. Kent Greg Lehey wrote: > > On Monday, 1 February 1999 at 11:24:50 -0800, Kent Stewart wrote: > > On most of the Unix systems I have used there is a make generator for > > Fortran. I don't see such a product on FreeBSD for f77. I have a large > > program, i.e., more than 300 modules, that was last used on a Cray. The > > sources as provided do not contain a makefile. I would like to try and build > > it on FreeBSD but would hate to have to create the makefile by hand . > > Is there something like mkmf that will generate a makefile. > > Not that I know of. Have you tried gmake? It knows about Fortran > programs. You probably need very little to make a usable Makefile. > For example, if you create a single executable out of your 300 .f > programs, you might do: > > $ ls *.f | xargs | sed 's/^/PROG: /' > Makefile > > Substitute the name of your program for PROG. > > Greg > -- > When replying to this message, please copy the original recipients. > For more information, see http://www.lemis.com/questions.html > See complete headers for address, home page and phone numbers > finger grog@lemis.com for PGP public key -- Kent Stewart Richland, WA mailto:kstewart@3-cities.com http://www.3-cities.com/~kstewart/index.html Hunting Archibald Stewart, b 1802 in Ballymena, Antrim Co., NIR http://www.3-cities.com/~kstewart/genealogy/archibald_stewart.html To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message