goma/goma — pull request #33 by wortiz (2014-05-29 17:53:28+00:00)
Title: Source move, feedback needed

Here are the changes to the source code layout

Small changes:

* I removed the unused parser and c files.

* I changed the version number define to 6.0.0

Makefile logic and changes:

* Makefile creates top level bin/, build/, and lib/ directories on compilation. Objects are built in the build directory under release or debug directories depending on what is being built. Libraries are built under lib/ only when a release version (not debug) is compiled.

* For install I used the more standard `PREFIX` rather than `TOP` so now you can call make with `make PREFIX="/opt/goma" install` and installation will occur accordingly

* Makefile in top level directory just calls Makefile in src/ directory with appropriate command `make install` issues `make install` on the src/Makefile

* I've made the GUTS defines and optimization level the default in the src/Makefile (Guts suite passes on default compile)

* I removed logic for building CHEMKIN

* I kept logic for purify but the only necessary piece seemed to be adding pure to the beginning of the linker define `LD`

* `make debug` builds gomad

* I put logic for a `settings.mk` file which has variable defines for common settings that I've run across in changing Makefiles for goma (mainly GOMA_LIB location, SEACAS location, Trilinos Location, Compiler locations and settings, and defines). This allows you to configure a smaller more portable file with specific overrides, and I could change the Makefile structure a bit more to allow setting other locations like UMFPACK_TOP if those are changed by people regularly. A commented example is in settings.mk-example, if the default settings (in src/Makefile) are correct for people a settings.mk file is not necessary.

New structure looks like:

```
├── bin
│ ├── goma
│ └── gomad
├── build
│ ├── debug
│ │ ├── ac_conti.o
...
│ └── release
│ ├── ac_conti.o
...
├── CHANGELOG.tex
├── docs
│ ├── goma-manual.pdf
│ └── install_notes
│ └── rhel5.5_gcc4.6.2_saroberts.txt
├── include
│ ├── acconfig.h
│ ├── ac_conti.h
...
├── lib
│ ├── libgoma.a
│ └── libgomau.a
├── Makefile
├── README.md
├── settings.mk
├── settings.mk-example
└── src
├── ac_conti.c
...
├── Makefile
...
```

Closes #3

Closes #30

Closes #32