concurrencykit / ck

Concurrency primitives, safe memory reclamation mechanisms and non-blocking (including lock-free) data structures designed to aid in the research, design and implementation of high performance concurrent systems developed in C99+.
http://concurrencykit.org/
Other
2.38k stars 313 forks source link

Fix 12 dependency issues with auto header dependencies #144

Closed vemakereporter closed 4 years ago

vemakereporter commented 5 years ago

Hi,

We have found and fixed 12 dependency issues in the Makefile. Those issues can cause incorrect results when the project is incrementally built. For example, any changes in a header file will not cause the object file to be rebuilt, which is incorrect.

We've tested it on my computer, the fixed version worked as expected. Looking forward to your confirmation.

We fix them by using the Auto-Dependency Generation technique mentioned here: http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/

Thanks Vemake

sbahra commented 5 years ago

Thank you for this! Is this BSD Make compatible?

vemakereporter commented 4 years ago

Thank you for this! Is this BSD Make compatible?

I think it is not.

We use the -include feature, which we believe is supported by GNU make only . We do not know how to make it compatible with BSD make.

kbowlingns commented 4 years ago

@vemakereporter can you print out a dependency graph? It should be relatively straight forward to add the missing headers to the objectives without any special features.

sbahra commented 4 years ago

Requires BSD Make compatibility or more information for us to apply fix.