Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Makefile for OpenAD (with singularity?) #618

Open
mjlosch opened this issue Mar 25, 2022 · 2 comments
Open

Makefile for OpenAD (with singularity?) #618

mjlosch opened this issue Mar 25, 2022 · 2 comments

Comments

@mjlosch
Copy link
Member

mjlosch commented Mar 25, 2022

I noticed that the Makefile for OpenAD experiments does not make sense. After generating it with genmake2 and running make adAll once, one cannot run make adAll again, because of the linked files xaif.xsd, xaif_base.xsd, xaif_inlinable_intrinsics.xsd, xaif_derivative_propagator.xsd, xaif_output.xsd. After removing them, make adAll, really re-does everything, which is not in the spirit of "make".

Typically I found that I needed to do make CLEAN each time I want to try something, which makes the process very slow and difficult. Also, it is not possible to run testreport -q with this type of makefile. Sometimes, I would like to do that, however, e.g. when I fiddle with the transformed code (i.e. I don't want modified code to be overwritten), or when I just want change experiments parameters that do not require re-generating and recompiling the code. With the current makefile, I have to wait O(10min) each time I make a tiny change.

I suggest that we change the dependency on the *.xsd files, e.g. we could add them into the make adDepend step, if that is used at all. Obviously, I am not very good with makefiles, so I would be happy for other suggestions.

@dngoldberg
Copy link
Collaborator

this is something i've found too. my hacky solution, if i wanted to add debugging print commands to OpenAD-generated code (which i need to do from time to time) to was simply to compile the affected files manually and then do the final command to link the object files manually. I am not well versed at all in Make though so would not know how to begin to change genmake2. If there is a simple way to allow this (re-calling make adAll), then this would be amazing!

@jm-c
Copy link
Member

jm-c commented Mar 25, 2022

I would like to add minor things to the list:

  1. since the executable has the same name with TAF and OpenAD, it would make more sense to have the same target name, "adall" for both instead of "adall" and "adAll".
  2. it would be nice to be able to run "make clean" and other cleaning target without having to set env. var. "OPENADROOT".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants