bkaradzic / GENie

GENie - Project generator tool
Other
905 stars 168 forks source link

[makefile projgen] allow to change project type #479

Closed KageKirin closed 5 years ago

KageKirin commented 5 years ago

Hi @bkaradzic,

This PR makes the makefile more flexible in such as it allows to generate different project types to build GENie. I.e. by setting $(PROJECT_TYPE) to e.g. ninja on the command, the projgen rule will generate ninja files instead of the gmake ones, and the release rule will build using ninja.

This was actually just a test I did locally, but if figures, it speeds up the build by factor 6 (12s build time go down to 2s), so I figured I might as well send a PR for it.

Note that the default value for $(PROJECT_TYPE) is gmake, so nothing will change unless using this option.

Cheers.


description from the single change below:

Change makerules to take variable $(PROJECT_TYPE)
instead of hardcoded 'gmake'

This allows to run `make projgen PROJECT_TYPE=ninja` to generate ninja build files instead.
and to build GENie using ninja by running `make release PROJECT_TYPE=ninja`.

Using ninja improves build times,
e.g. for macOS: 12.47s with gmake goes down to 2.05s with ninja.