64 Commits

Author SHA1 Message Date
Karl Palsson
bad5580492 [make] Use less shell variables
Use fixed variables for things that can't change, instead of variables
like SRCLIBDIR that was causing a shell call for every single use.

Use less functions in general and less shell expansions.

Use builtin functions like $(realpath blah) instead of $(shell
pwd)/blah  In particular, this was important for me trying to build on
windows with git-shell.  This should help a lot on smaller build
machines, but doesn't make a huge difference on my own.

Remove redundant clean print messages. These also cause more needless
shell expansions.
2013-06-02 18:11:49 -07:00
Gareth McMullin
ce3e3dc39b Split sam3x/sam3n support. 2013-06-02 18:01:38 -07:00
Gareth McMullin
f0bace7838 sam3x support. 2013-05-10 14:01:16 -07:00
Piotr Esden-Tempski
3e2be1d4a4 Removed examples, they are moved into libopencm3-examples repository. 2013-04-19 19:33:32 -07:00
Alexandru Gagniuc
326c945b55 lm4f: Add lm4f support files copied from lm3s
Create lm4f code infrastructure from the lm3s infrastructure.

As far as the interrupt table is concerned, don't create an irq.yaml. Just
include the LM3S nvic.h. The LM3S vector table seems to be compatible with the
LM4F

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-12-31 01:35:25 -06:00
Ken Sarkies
35c0863a75 Documentation updates 2012-11-12 21:44:52 +10:30
Karl Palsson
8318384cf1 More progress towards L1 support.
Believe gpio is complete, but untested without finishing at least the
RCC defines.

RCC defines are a work in progress
2012-11-07 21:50:27 +00:00
Karl Palsson
f1f1aa84f3 Use make flags to help control where the library is installed
Where the library is installed has quite an affect on what -L and -I
flags are used.  If you install into the toolchain, you don't want
to use them at all, but if you install out of tree (/opt/mycm3 for
example) you need to specify the -L and -I flags.

Update the documentation and the example makefiles to support this
2012-11-07 21:50:27 +00:00
Piotr Esden-Tempski
76c7357c00 Fixed header clean target find call for Darwin BSD find too. 2012-10-31 13:45:58 -07:00
Piotr Esden-Tempski
8091f10576 Merge pull request #56 Allow make to build libs/examples in parallel.
Merge remote-tracking branch 'karlp/pr_parallel_makes'
2012-10-31 13:43:44 -07:00
Piotr Esden-Tempski
fd3ee124f8 Fixed find call for Darwin BSD find. 2012-10-31 13:29:38 -07:00
Karl Palsson
90cdddd96b Allow make to build libs/examples in parallel.
You cannot issue make inside a for loop if you want to let it run in
parallel.  Performance increases seen:

10:03 < zyp> I tested make all -j8 without your change, it takes 8.7s
10:03 < zyp> so on my cpu, your change gives >2x speedup

My own cpu gives more modest speed increases, of only about 20%.
2012-10-30 10:03:12 +00:00
chrysn
a1f4c29872 Merge branch 'efm32'
this adds support for energy micro's efm32 tiny gecko, gecko, leopard gecko and
giant gecko series.

also, the experimental libopencmsis is included in this branch, as it is
required for full operation of the free energymicro standard library
2012-10-29 14:44:37 +01:00
chrysn
f594af86c8 fixes for generated header cleanup
* make target phony
* don't complain about missing files
2012-10-23 01:59:41 +02:00
chrysn
efce73f815 make make clean work again
the irq2nvic_h generates files in a way make doesn't understand, so it
now also provides an option to clean up again
2012-10-23 01:38:27 +02:00
chrysn
2ad04777bf only generate irq headers on demand
as header file generation is not directly controlled by make (which, by
the way, makes the generatedheaders target phony), the script has to
take care of not needlessly generating files itself lest to have make
rebuild everything everytime
2012-10-23 01:31:30 +02:00
chrysn
cece71ba2f install *all* efm32 linker scripts
this will install the per-family linker scripts twice (doesn't hurt,
gets overwritten), but more importantly intalls the per-chip scripts
too.
2012-10-19 16:13:34 +02:00
chrysn
e11edaff11 build all efm32 families 2012-10-19 14:53:06 +02:00
chrysn
62345af9ee install opencmsis 2012-10-19 13:54:42 +02:00
chrysn
d526dd3268 rename tinygecko->efm32tg everywhere 2012-10-19 00:59:49 +02:00
chrysn
47c69695ce Merge branch 'generalizations' into efm32
Conflicts:
	Makefile
2012-10-18 18:43:44 +02:00
chrysn
c69916ffb6 integrate irq2nvic_h script in buildprocess 2012-10-18 17:58:12 +02:00
Felix Ruess
b7ebe6e705 fix clean target for example makefiles if the compiler is not in PATH 2012-10-16 14:09:42 -07:00
Ken Sarkies
ff83a1ae1c Setup to document entire project using doxygen.
New doc directory with config files and generated html, LaTeX/pdf.
Makefile provided for autogeneration and explanatory README.

The project structure is hostile to doxygen, which can't cope with functions
of the same name. Doxygen is run for each family separately, and separately
for LaTeX generation. Customized layout files sort of "integrate" HTML, and
separate pdfs are generated for each family. Not ideal but seems the best
solution until doxygen changes, if at all.
2012-09-15 12:51:46 +09:30
chrysn
0508f30d2d Merge branch 'master' into efm32
Conflicts:
	Doxyfile
	Makefile
2012-09-13 22:32:28 +02:00
Piotr Esden-Tempski
3441bba1c4 Changed local build target for library and linker files.
- The library files are now being built into the lib subdirectory of the
  source.
- The linker files for each library are being copied into the lib source
  subdirectory.

Motivation: The relative locations of files in the source directory after make
are now the same as after make install now. This makes it easier to
reuse examples with their makefiles outside of the libopencm3
sourcecode directory.
2012-08-13 15:19:57 -07:00
Michael Ossmann
14026fc31f make install now installs lpc43xx and other non-stm32 stuff 2012-06-06 23:48:30 -06:00
Michael Ossmann
50999194d2 added lpc43xx to target list 2012-05-22 14:23:57 -06:00
chrysn
09fea0bc1b Merge branch 'master' into efm32
Conflicts:
	Makefile
2012-04-19 17:28:55 +02:00
Taylor Vesely
f7bf15343d Produced build system for Blueboard-LPC1768-H miniblink. 2012-03-27 08:55:19 -06:00
chrysn
563586c072 Merge branch 'master' into efm32 2012-03-02 23:59:52 +01:00
Piotr Esden-Tempski
43561de329 License change of the library to LGPL, version 3 or later.
Agreed to by all the significant contributors to the library.
2012-03-02 14:44:49 -08:00
chrysn
2275ed7b0c overhauled documentation
includes minor refactoring in example code and modification of how the
generic and the tinygecko specific vector.h go together (bringing it in
line with stm32/f1's memorymap.h)
2012-02-26 03:42:25 +01:00
Uwe Hermann
6c278b19b4 Makefile: Add 'doxy' target for doxygen docs.
A top-level 'make clean' will remove the whole doxygen/ output directory.
2011-11-11 21:27:29 +01:00
Uwe Hermann
42e531c7c4 Makefile: Fix 'install' target.
Thanks to CheBuzz on IRC for pointing this out.
2011-11-03 20:45:04 +01:00
Stephen Caudle
5a89d44591 Add initial support for STM32F4 2011-10-31 00:41:19 -04:00
Stephen Caudle
1dc4645732 Update makefiles to reflect stm32 lib folder name changes 2011-10-30 17:42:49 -04:00
Uwe Hermann
788f3870c4 Merge remote-tracking branch 'fnoble/stm32f2' 2011-10-29 22:19:12 +02:00
Uwe Hermann
17d80aa5a4 Fix whitespace. 2011-10-29 22:14:33 +02:00
Gareth McMullin
b05a5dcf2a Fixed some F105/F107 USB issues. Added user callback on SOF.
Made examples depend on lib.
2011-10-29 21:30:26 +13:00
Fergus Noble
8da4496799 Adding stm32f2 target in top level Makefile and renaming f1 target. 2011-10-12 22:13:02 -04:00
Piotr Esden-Tempski
03a4a18ed6 Switched all makefiles to arm-none-eabi default. 2011-10-04 13:08:35 -07:00
Piotr Esden-Tempski
5d97653163 Added black magic probe flashing support to the example code makefile. 2011-10-02 01:25:33 -07:00
Gareth McMullin
7faea389e8 Added dependency generation. Abort loops on error. 2011-03-14 16:45:17 +13:00
Gareth McMullin
95286a22f0 More build improvements and fixed broken examples. 2011-03-13 14:50:53 +13:00
Gareth McMullin
08990e5243 Simplified build system for adding new examples. 2011-03-13 13:58:19 +13:00
Gareth McMullin
769a932f3e Added initial support for the LuminaryMicro LM3S family. 2011-02-04 22:47:51 +13:00
Uwe Hermann
8f251e8a9d Some more file/path restructuring.
All #includes now explicitly use the "<libopencm3/stm32/rcc.h>" format.
If you want to get rid of the "libopencm3" prefix in your local project you
can add a respective -I entry in your Makefile (not recommended though).

All .ld files and .a libs are installed in $(TOOLCHAIN_DIR)/lib
directly (as before), but are now renamed to avoid potential
conflicts now or in the future. Examples:

  libopencm3_lpc13xx.a
  libopencm3_lpc13xx.ld
  libopencm3_stm32.a
  libopencm3_stm32.ld
2010-12-31 18:18:39 +01:00
Uwe Hermann
8c946de4d4 Some more LD paths fixes. 2010-12-30 14:12:32 +01:00
Uwe Hermann
d37a786c63 Adapt 'make install' to new structure. 2010-12-30 13:32:52 +01:00