% render "layouts/basic.html" do
### OrigenAppGenerators
## Generic Application
Builds a generic Origen application shell that has no specific use case in mind.
It will build the following application structure:
~~~text
|-- config
| |-- application.rb
| |-- commands.rb
| |-- environment.rb
| |-- users.rb
| |-- version.rb
|-- doc
| |--history
|-- lib
| |-- app_name
| | |-- top_level.rb
| |-- app_name.rb
| |-- tasks
| |-- app_name.rake
|-- spec
| |-- spec_helper.rb
|-- log
|-- output
|-- targets
| |-- debug.rb
| |-- default.rb
| |-- production.rb
|-- templates
| |-- web
|-- Gemfile
|-- Rakefile
~~~
**config**
Holds all configuration information for your application
**config/application.rb**
This is the main configuration file where the behavior of Origen can be tailored
to the needs of your application. The default settings are usually sufficient
until your application becomes more advanced.
**config/commands.rb**
Custom origen commands can be added to your application, this is the preferred
way of distributing any scripts required to support your application to your
users. See the [command guide](http://origen.freescale.net/origen/latest/guides/custom/commands/)
for details.
**config/environment.rb**
This file will be called by Origen to load your application environment, any files
that you add to the lib directory should be loaded from here.
**config/users.rb**
Define your application users here, this is basically your mailing list for
release notices.
**config/version.rb**
Defines the current application version. This file is managed by Origen via the
'origen rc tag' command and should generally never be edited by hand.
**doc**
Any documentation related to your application can be stored here.
**doc/history**
A rolling log of your application tags and release notes is maintained here. A
new entry is generated every time the 'origen rc tag' command is run. This file is
pre-formatted to look good when rendered as a web page.
**lib**
All of your application models and logic should go in here. This folder is
already added to Ruby's load path by Origen. Sub-folders can be used as desired
to keep things organized. The contents of this folder will be accessible by
any other applications which import this application.
**log**
All log output generated by Origen will be placed in here. There is a log containing
the output from the last origen invocation and a rolling log from all previous
runs.
**output**
By default all generated or compiled output will be placed in here.
**target**
A target defines which silicon design and/or test platform is being targeting
by the generated content. All target definitions live in here.
**templates**
All templates used by the application should reside here, normally in sub-directories to separate
them by type - e.g. templates/j750, templates/bench_code, templates/rtl, etc.
**templates/web**
Web based documentation of your project should reside here. Origen makes it easy
to produce dynamic documentation based on your application target
configurations. See http://origen.freescale.net for an example of the kind of
documentation that can be produced.
% end