[LLVMbugs] [Bug 731] NEW: Enhanced Makefile System
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Fri Apr 7 23:00:56 PDT 2006
http://llvm.org/bugs/show_bug.cgi?id=731
Summary: Enhanced Makefile System
Product: Build scripts
Version: cvs
Platform: All
OS/Version: All
Status: NEW
Severity: enhancement
Priority: P2
Component: Makefiles
AssignedTo: unassignedbugs at nondot.org
ReportedBy: rspencer at x10sys.com
Currently, all significant Makefile logic is located in the Makefile.rules file.
This organization is awkward as it does not isoloate or encapsulate separate
functionalities into separate files. It also means that on every invocation (of
which there are many), make must process the entire file, most of which isn't
used on any given directory. Consequently, a revision to the makefile system is
desireable.
The envisioned system remains mostly compatible with the existing system, with a
few notable exceptions:
1. All Makefile* crud is located in a new "make" directory at the top level.
2. The Makefile.rules logic is split into separate Makefile.<task> files where
<task> indicates the kind of thing to build (lib,archive,module,tool,etc.)
3. Makefiles in the individual build directories no longer simply include
Makefile.common but, rather, include one (or more) of the task makefiles
found in the
4. Certain variables such as BUILD_ARCHIVE are no longer necessitated, as they
are replaced by including the appropriate Makefile.<task>
In conjunction with this change, variable names should (once again) be
regularized using an understandable pattern, especially one that corresponds to
the use of the task names (e.g. all vars in Makefile.lib should be prefixed by
"lib" or "Lib" or "LIB"). Furthermore, the documentation will need to be updated.
Such a makefile system will make future enhancements easier as LLVM grows as
well as making it easier to maintain without having to grok all 1700 lines of
Makefile.rules.
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
More information about the llvm-bugs
mailing list