/******************************************************************** * Description: directory.map * File describing the current directory map, and a proposed * install directory scheme * * * Author: * License: GPL Version 2 * System: Linux * * Copyright (c) 2004 All rights reserved. * * Last change: * $Revision$ * $Author$ * $Date$ ********************************************************************/ Overview of the emc2 directory: emc2/ (directory.map (this file)) | | |--- bin/ (user mode binaries) | |--- configs/ | | | |--- demo_mazak/ (sample mazak config files) | |--- demo_step_cl/ (sample stepper with ladder IO) | |--- m5i20/ (sample servo using Mesa PCI) | |--- motenc/ (sample servo using Vital PCI) | |--- sim/ (simulated motion and IO) | |--- stepper (parport stepper driver) | |--- stg (sample servo using STG ISA) | |--- univpwm (sample PICO servo generator) | \--- univstep (sample PICO stepper generator) | |--- docs/ (All the important and relevant Docs.) | | (API and source notes should be in each src dir.) | | | |--- handbooks/ (PDF versions of handbooks) | | (LyX source is in the src/ tree) | | | |--- man/ (man pages) | | | | | |--- man1/ (user man pages) | | \--- man3/ (API man pages) | | | \--- src/ (source for the handbooks) (top level .lyx files) | | | |--- common/ (shared .lyx files and images, such as glossary, GPLD license) | |--- gcode/ (.lyx files, images, etc. for G-Code documentation) | |--- gui/ (.lyx files, images, etc. for GUI documentation) | \--- hal/ (.lyx files, images, etc. for HAL documentation) | |--- include/ (headers installed here - originals in src/xxx/) | |--- lib/ (user mode object files) | |--- nc_files/ (Sample NC files) | |--- rtlib/ (kernel mode object files, only after a successfull compile) | |--- scripts/ (bash scripts like emc, realtime, load_rtapi, unload_rtapi, etc.) | |--- src/ (source tree - configure script, top level makefile, | | Makefile.inc, etc) | | | |--- emc/ (actual EMC code) | | | | | |--- canterp/ (interpreter for canonical commands) | | |--- ini/ (inifile related operations) | | |--- iotask/ (IO interface, lots of HAL pins) | | |--- kinematics/ (trajectory planner and kinematics) | | |--- log/ (emc motion log?) | | |--- motion/ (motion controller, talks through SHM to the rest of EMC) | | |--- nml_intf/ (emc specific NML implementation, all messages sent in emc) | | |--- rs274ngc/ (the rs274 g-code interpreter) | | |--- task/ (core component in emc, dispatches actions to other parts) | | \--- usr_intf/ (interface to GUI and IO through emcsh and iosh) | | | |--- hal/ (hal_lib.c, hal.h, etc.) (the Hardware Abstraction Layer, provides a unified interface across all hardware) | | | | | |--- utils/ (halcmd, halscope, halmeter, etc) (used as debugging and helper programs) | | |--- drivers/ (parport, stg, PPMC, USC, etc.) (actual hardware drivers) | | |--- components/ (encoder, stepgen, PID, etc.) (realtime software HAL components) | | |--- user_comps/ (vcp, joystick driver, etc) (user space HAL components) | | \--- classicladder (cl component, a software PLC) (software Programable Logic Controller) | | | |--- libnml/ (a clean implementation of RCSLIB) | | | | | |--- buffer/ | | |--- cms/ | | |--- inifile/ | | |--- linklist/ | | |--- nml/ | | |--- os_intf/ | | |--- posemath/ | | \--- rcs/ | | | |--- po/ (Translation files for i18n support) | | | |--- .tmp/ (temp directory for intermediate objects.) | | | |--- .rt_tmp/ (temp directory for RT objects.) | | (N.B. These two should not appear in CVS) | | (and will be deleted during a 'make clean') | | | \--- rtapi/ (*.c and *.h for RTAPI) (unified RT API, wraps over RTLinux and RTAI) | | | \--- examples/ (testing examples for the RTAPI) | |--- timer_example/ (*.c & *.h) | |--- shmem_example/ (*.c & *.h) | \--- etc. | \--- tcl/ (tkemc.tcl, mini.tcl - the tcl GUI's) | |--- bin/ (tcl helper executables) | | | |--- popimage (provides a splashscreen for emc) | |--- halconfig.tcl (lets user view/edit a HAL configuration easyly) | |--- setupconfig.tcl (provides help for config related tasks) | \--- etc. | \--- scripts/ (tcl helper scripts) Overview of the emc2 install dirs: / (file system root) | | |--- etc/ | | | \--- init.d/ | | | \--- realtime (realtime start/stop script) | | |--- $(prefix) (default: /usr/local) | | (all the following $xxxxdir are configurable through autoconf | | | |--- bin/ (known as $bindir, files from EMC2/bin) | | | |--- sbin/ (known as $sbindir, ) | | | |--- etc/ (known as $sysconfdir, config files and subdirs from configs/) | | | |--- lib/ (known as $libdir, lib files *.so from libs/) | | | \--- share/ | | | \--- emc/ | | | | | |--- docs/ | | | | | \--- (All the important and relevant Docs.) | | | |--- handbooks/ | | | | | \--- (PDF versions of handbooks) | | | \--- nc_files/ | | | \--- (Sample NC files) | |--- $MAN_DIR/ (default: /usr/local/man) | | | |--- man1/ | | | | | | | | \--- man3/ | | | | \--- $moduledir/ (based on where ./configure finds the RTOS modules)