I am just asking what are the upsides of making and using your own make file.
The code examples I've seen to do this are cryptic at best,so if Im going to study it
in my own time it should be worth it.
Question) Is there a time and place where you (personally you) would deem it
a better 'solution' to make your own make program,
and if so what circumstances would make you do it.
Also,the make code I've seen looks interestingly brief,
is it coded in assembly,I assume I can make a make file in c++.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Some of your questions make no sense. Are you talking about creating your own build manager utility, or just creating a makefile to manage your build? It seems to me that you are asking both or neither, or that you are just very confused about what make is and does.
Actually you have asked nothing it seems due to omission of a single '?'
Some points some of which may answer your questions:
make is a build management utility, primarily for building computer software, but it can be used for building other artefacts.
A "make file" (or more usually a "makefile") is a text file containing build rules and macros for building one or more artefacts.
make is not a programming language.
A makefile is not a program, it is rather a 'rulebase'. Make is an example of an 'expert system'.
if a target is older than any dependency (or does not exist), then teh command list is executed. Sounds simple, but before the rule is invoked, the dependencies themselves are checked to see if there is a rule for them - this is performed recursively.
Dev-C++ generates a makefile for you from your project settings and source files added (see the makefile.win file in one of your dev project folders).
Dev-C++ allows you to use an externally created makefile instead of using its built-in project manager to generate one.
Dev-C++ allows you to customise its generated makefile via include files (make files that get included into the generated one)
Creating your own makefile is only necessary if your build is more complex than Dev-C++ can handle. Dev-C++ might struggle with mixed language builds and does not handle projects with more than one final artefact.
If you were asking should you write your own make utility rather than makefile, then I wouldn't, the world does not need yet another build utility.
Makefiles have nothing to do with assembly code, I am not sure where you got that idea.
A makefile is just ASCII text, you cannot "make a make file in c++", you just use a text editor. Caution however, make uses the <TAB> character as a delimiter, mere spaces won't do, which only shows how stupid the utilities designers were, while being no doubt very smart at the same time. Dev-C++ can (and should IMO) be configured to use spaces when TAB is pressed, but that makes it unsuitable for writing or editing makefiles. If you use Dev-C++, check the configuration. Notepad is an safer alternative, or an editor that actually shows hard tabs as visible characters.
Clifford
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I am just asking what are the upsides of making and using your own make file.
The code examples I've seen to do this are cryptic at best,so if Im going to study it
in my own time it should be worth it.
Question) Is there a time and place where you (personally you) would deem it
a better 'solution' to make your own make program,
and if so what circumstances would make you do it.
Also,the make code I've seen looks interestingly brief,
is it coded in assembly,I assume I can make a make file in c++.
Some of your questions make no sense. Are you talking about creating your own build manager utility, or just creating a makefile to manage your build? It seems to me that you are asking both or neither, or that you are just very confused about what make is and does.
Actually you have asked nothing it seems due to omission of a single '?'
Some points some of which may answer your questions:
make is a build management utility, primarily for building computer software, but it can be used for building other artefacts.
A "make file" (or more usually a "makefile") is a text file containing build rules and macros for building one or more artefacts.
make is not a programming language.
A makefile is not a program, it is rather a 'rulebase'. Make is an example of an 'expert system'.
A make rule is of the form:
<target> : <dependencies>
<TAB><command>
<TAB><command>
<TAB><command>
...
if a target is older than any dependency (or does not exist), then teh command list is executed. Sounds simple, but before the rule is invoked, the dependencies themselves are checked to see if there is a rule for them - this is performed recursively.
Dev-C++ generates a makefile for you from your project settings and source files added (see the makefile.win file in one of your dev project folders).
Dev-C++ allows you to use an externally created makefile instead of using its built-in project manager to generate one.
Dev-C++ allows you to customise its generated makefile via include files (make files that get included into the generated one)
Creating your own makefile is only necessary if your build is more complex than Dev-C++ can handle. Dev-C++ might struggle with mixed language builds and does not handle projects with more than one final artefact.
The documentation for make is here: http://www.gnu.org/software/make/manual/
A brief overview of what make is and alternatives is at http://en.wikipedia.org/wiki/Make_%28software%29
If you were asking should you write your own make utility rather than makefile, then I wouldn't, the world does not need yet another build utility.
Makefiles have nothing to do with assembly code, I am not sure where you got that idea.
A makefile is just ASCII text, you cannot "make a make file in c++", you just use a text editor. Caution however, make uses the <TAB> character as a delimiter, mere spaces won't do, which only shows how stupid the utilities designers were, while being no doubt very smart at the same time. Dev-C++ can (and should IMO) be configured to use spaces when TAB is pressed, but that makes it unsuitable for writing or editing makefiles. If you use Dev-C++, check the configuration. Notepad is an safer alternative, or an editor that actually shows hard tabs as visible characters.
Clifford
Okay,thanks alot Clifford.
>>>A "make file" (or more usually a "makefile") is a text file containing build rules and macros for building one or more artefacts.<<<
Thats what I was jibbering on about.