[axel-devel] RFC: Directory Layout

Philipp Hagemeister phihag at phihag.de
Sun Oct 19 21:18:34 UTC 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Currently, axel's directory layout is pretty simple:

.   - Source files, text interface, compiled files, axel binary,
documentation, internationalization, compiled i18n files, configure,
Makefile
gui - GUI

Although this is simple, the Makefile that determines what should be
generated/deleted is pretty complicated. It's easy to miss something.
Furthermore, the addition of unit tests requires more magic to determine
what belongs to CLI and what belongs to the core. Additionally, this
intermingling of interface and core has already caused problems; just
take a look at the 300+ lines main method in text.c.

Therefore, I propose the following directory layout:

. configure, Makefile, axelrc.example, axel.spec
cfg/ - Configuration files generated by configure. This folder is
deleted by distclean.
cli/ - The text interface (text.c)
doc/ - Documentation
gui/ - The graphical user interface
i18n/ - Internationalization (only those files under version control)
out/ - Output directory for everything generated by make and deleted by
make clean.
  axel - The final binary
  bin/ - .o files
  cli/ - .o file of the CLI
  i18n/ - .mo files
  test/ - .o files of the test, executable test-axel
  axel-${VERSION}.tar{,.bz2,.gz} - Distribution files
src/ - The main source (.c and .h)
test/ - The test source files

What do you think of this layout? Comments? Improvements? Ideas?

Philipp Hagemeister
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEAREKAAYFAkj7pCgACgkQ9eq1gvr7CFyayACfYHYr5nUaYWX+46ekQuSKufJv
hRwAn1IYMJk9yiHBVDoOydQvC2IJoZ8u
=989T
-----END PGP SIGNATURE-----



More information about the axel-devel mailing list