Coder Social home page Coder Social logo

Comments (7)

gkorepanov avatar gkorepanov commented on June 6, 2024

Well, I have studied the question a bit. I'm wondering what exactly we are going to achieve. The variants are:

  • The recursive build system which allows to build any module (like func_instr) independently or to build a whole project.
    This is mainly considered not to be the best way to go: Recursive Make Considered Harmful

  • The non-recursive build system allowing for different targets and wise multi-level include system, which would allow to build the whole project in a moment as well (I do consider this way to be best, as the project grows and we are already having cross-dependencies (just look at the perf_sim Makefile with a number of vpath statements, or probably consider the gtest lib necessary for almost any module))

  • Just few independent Makefiles sharing the common code in the top-level one (it's the closest to what we have now but don't seem to be brilliant in my view)

  • Whatever else...?

from mipt-mips.

pavelkryukov avatar pavelkryukov commented on June 6, 2024

@igorsmir-ilab Igor, what do you think?

from mipt-mips.

igorsmir-ilab avatar igorsmir-ilab commented on June 6, 2024

I would say let's stick to the easiest option for now - few independent Makefiles with shared root. This will allow us to solve current task - central CXXFLAGS definition, as well as enable faster forward progress with very strict C++ warnings issue #44.

The non-recursive build system could be set as the next milestone, IMO.

from mipt-mips.

gkorepanov avatar gkorepanov commented on June 6, 2024

I'm now adding the header dependencies to all Makefiles and it looks that all of them (Makefiles) are becoming quite similar. Probably I should make a root Makefile with common rules as well?

from mipt-mips.

pavelkryukov avatar pavelkryukov commented on June 6, 2024

It is not critical now but can create some problems to current users as they won't expect significant build changes. Let's postpone that for now.

from mipt-mips.

gkorepanov avatar gkorepanov commented on June 6, 2024

Ok, thanks.

from mipt-mips.

pavelkryukov avatar pavelkryukov commented on June 6, 2024

WIP on testing changes

from mipt-mips.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.