mkproject - Man Page
make project skeletons
Synopsis
mkproject [OPTIONS]
Description
make project is a command that makes project skeletons. make project automatizes the task of starting a new project with the information provided from the command line. The package created by default is a 'hello world' project of the selected skeleton that is managed with autotools. There are skeletons for bash, c, c library, python, c++, c++ library and perl.
Mandatory arguments for long options are mandatory for short options too.
- -l, --list
list skeletons
- -s, --skeleton=SKELETON
set skeleton type (obligatory)
- -t, --tarname=TARNAME
set tar name (obligatory)
- -p, --pkgname=PKGNAME
set package name (full)
- -d, --description=DESCRIPTION
set short description
- -a, --author=AUTHOR
set full author name
- -b, --bugreport=BUGREPORT
set bug report adress
- -m, --homepage=HOMEPAGE
set homepage url
- -n, --dependencies=DEPENDENCIES
set dependencies
- -r, --verbose
show progress messages
- -h, --help
show a help message
- -v, --version
show the program version
Skeleton and Tar Name are obligatory, the rest are recommended, dependencies is optional.
Examples
- 1: A bash project:
$ mkproject --skeleton=bash --tarname=test --pkgname="A test" --description="A test package for mkproject" --author="Someone" --bugreport=noemail@network.org --homepage "http://nohomepage.org" let's try it: $ cd test $ ls aclocal.m4 ChangeLog COPYING Makefile.am mkproject.log src AUTHORS configure INSTALL Makefile.in NEWS autom4te.cache configure.ac install-sh missing README $ cat README A test: A test package for mkproject Copyright (C) 2021 Someone This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. test (A test) homepage <http://nohomepage.org> $ cat AUTHORS Someone <noemail@network.org> $ cat NEWS 2021-01-01: * Project start $ cat ChangeLog 2021-01-01 Someone <noemail@network.org> * ChangeLog start $ cat src/main.sh #! /usr/bin/env bash echo "Hello world!" $ ./configure checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for bash... yes configure: creating ./config.status config.status: creating Makefile config.status: creating src/Makefile $ make Making all in src make[1]: Entering directory `test/src' cp ./main.sh test chmod +x test make[1]: Leaving directory `test/src' make[1]: Entering directory `test' make[1]: Nothing to be done for `all-am'. make[1]: Leaving directory `test' $ src/test Hello world!
- 2: A c project:
$ mkproject -s c -t at -p "Another test" -d "Another test for mkproject" -a "The same one" -b "stillnoemail@network.org" -m "http://stillnohomepage.org" to try it: $ cd at && ./configure && make && src/at && make distcheck
- 3: Minimal options:
$ mkproject -s bash -t test
Notes
To add skeletons just place them in ${prefix}/share/mkproject/skeletons/ ( mkproject skeleton format is bash source ). See actual implementations for examples. Integration is automated.
Author
Written by Juan Manuel Borges Caño.
Homepage
mkproject (make project) home page <http://code.google.com/p/makeproject>.
Reporting Bugs
Report bugs to <juanmabcmail@gmail.com>.
Copyright
Copyright © 2007-2021 Juan Manuel Borges Caño
This is free software. You may redistribute copies of it under the terms of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>. There is NO WARRANTY, to the extent permitted by law.
See Also
The full documentation for mkproject is maintained as a Texinfo manual. If the info and mkproject programs are properly installed at your site, the command
info mkproject
should give you access to the complete manual.