mk-project¶
author: | Brüggemann Eddie <mrcyberfighter@gmail.com> |
---|---|
program: | mk-project |
version: | latest |
language: | C |
release: | Nov 16, 2017 |
Presentation¶
mk-project is a C and C++ project builder, with a nice G.U.I, which generate at first a big, big do it all, Makefile
.
So that you can create a project and keep the tree of your project, which reflect the UNIX file system tree.
note: | mk-project does not claim to replace the auto-tools but it is build on the top in the spirit of development instead of distributing. |
---|
In addition vim or others T.U.I editors users,
can use the entire program by editing their source files into the
which is a notebook, you can adding as many terminals you want.Else mk-project is a tool done to ease the development process of C or C++ programs and a good bridge for the distributing process. Especially with the autotools.
mk-project is a T.D.E (Terminal Developement Environment):
an utility used for the development of programs with many functionalities !
mk-project is based on the make tool which on his turn, use severals utilities, for providing many features
and so many useful make targets.
Callable through a terminal, in preference (or through the G.U.I from mk-project:
).mk-project is an Environment
in the terms of his wide field of targets
which aren’t statically at all.
But dynamically configurable, changeable and self-build-able and so that the grass becomes greener...
The targets
are short string easy to remember and so you can make work
- your computer, through the terminals
- and mostly your head through remembering, configuring, modifying and creating
targets
.
And not become an I.D.E (Integrated Development Environment) zombie thrashing his head and knows !
But a proud well informed programmer which knows exactly how his system and environment works which can easily automate the task using the make syntax.
Hackme¶
You can edit the Makefile
by hand at your convenience, of course !
Note
But I think It’s better for some generic targets to include them directly
into the template file(s) you will find at $(pkgdatadir): /usr(/local/share/mk-project/templates/*
So that you get it every time you generate a new project.
warning: | If you do this: you must take care of escaping the ‘%’ with a ‘%’ character : “%%”. |
---|
But think to notify the developers,
to inform them about your add-on(s) if you think it’s reliable and usable for others.
What provide mk-project¶
Note
At the time i write this documentation mk-project support:
the C and C++ programming language.
“I invite all the community to work together to take in charge more languages...”
file: | see this document for participating (You can become from the simple contributor to the entire coauthor). |
---|
mk-project provide at first a solid base for building a work,
through a big Makefile, which can be edited manually in respect of the following few conventions:
Note
Configuration settings are set through the string:
- F For false (disable option).
- T for true (enable option).
Some few others variables:
The variable $(SRC_FILES) is build from the variable $(SRC_DIR) which value is always:
./src
.This mean if you want to add files manually (if you doesn’t use the GUI for this task) to your Makefile,
do it properly by using the $(SRC_DIR) variable:
SRC_DIR = ./src SRC_FILES = ${SRC_DIR}/my_file${EXT_SRC} \ ${SRC_DIR}/subfolder/my_file${EXT_SRC}
So you will add file(s) relative to the
./src
directory where source file(s) have to reside.note: Otherwise simply use the G.U.I for adding file(s) .
A building system for your source files.
Many tools for machine code investigation:
From the simple -g option setting by a
GNU-Compiler
for debbuging withgdb
, through disassemble the machine code files and executable tracing, to profiling the entire work.For the documentation mk-project support the sphinx documentation generator.
The sphinx documentation
targets
support many output formats:- info files.
- man (manual pages).
- HTML, single HTML, and texi HTML documentation.
- PDF and LATEXPDF files.
- XML files.
- LATEX files.
- EPUB files.
And many more through sphinx like: qthelp, applehelp, xml, json or devhelp per example.
mk-project provide a simple G.U.I composing of terminals and a menu-bar.
At first you can use the menu items to perform some actions like:
Generate a new project:
.Then you have to configure your project answering some basics questions like:
- Programming language.
- Program name
- Project folder (in which the new project will be generate).
And some others according to your settings.
Once the new project is generated you can access to the make targets either through the mk-project G.U.I menu-bar (simple click on the wanted target to execute it !).
Or from the terminal of mk-project or any else terminal at the condition to be in the
Makefile
current folder.
note: Simply type $ make help to get the list of available targets.
Warning
If you add some user-targets, to the
Makefile(s)
, think at adding them to the $ make help output.So that mk-project can auto-detect your target and list it to add it as menu item to the make targets.
If you add a bash comment on the same line it will be displayed as tool-tip by overfly the menu items.
warning: Simply think to limit your entry at terminal maximal size: 79 characters.
So mk-project provide another terminals ordered in tabs which you can add, remove, and configuring.
For purpose of terminals editor users like vi, ed, emacs which can be easily launch an instance their favorite terminal editor
in every tab all that continuing using the mk-project interface.
Finally you can switch between the single Makefile
current folder) and the terminals using the menu radio items.
How mk-project works¶
note: | The answers is simply all is make in Makefiles , which will make you the development easier. |
---|
mk-project doesn’t claim to replace an IDE or others building tools but only give you an alternative
which you can entirely adapt
to your requirement.
Note
For being true the make tool implementation and the way it make you the life easier
without forgetting your TTY Knows
has impress me so that
I couldn’t develop a good project without it
or in others words:
If the make tool have never exist I would invent it...
Author(s)¶
Developer: | Brüggemann Eddie |
---|---|
Documenter: | Brüggemann Eddie |
Contributor(s)¶
Become one !!!
The future of mk-project¶
mk-project: mic-on
!!!¶
Note
The idea is to sit in front of the interface of mk-project (microphone on
!),
writing the source code from your last creation:
And to say execute: make exec
, or the target you want...
The program could react by analyzing your voice entry and executing the target !!!
So that the build is automate by (simple) voice recognition.
So you can write your program with your hands
and
build it with by emitting a simple order so that the program execute the corresponding target,
if recognize...
What do you think about it ?
note: | We could enhance mk-project in the way of Speech recognition... |
---|