Hello Richard,

disclaimer: I do not use Windows myself ...

> I create a batch file, make.bat, containing the following line:
> avrasm2.exe -fI -o myproj.hex -e myproj.eep -l myproj.lst -I .\ -I
> amforth\common -I amforth\avr8 -I include  -v0 myproj.asm
>
> My project structure now looks like
> Directory of E:\amforth
>
> 21/07/2017  01:40 PM    <DIR>          .
> 21/07/2017  01:40 PM    <DIR>          ..
> 01/05/2017  02:09 AM    <DIR>          appl
> 21/07/2017  12:41 PM    <DIR>          Appnotes2
> 01/05/2017  02:13 AM    <DIR>          avr8
> 18/06/2012  09:47 PM           410,112 avrasm2.exe
> 01/05/2017  02:09 AM    <DIR>          common
> 26/07/2012  02:50 AM             2,233 device.asm
> 26/07/2012  02:50 AM            15,724 device.inc
> 06/12/2014  02:56 AM               197 dict_appl.inc
> 19/05/2014  11:47 PM                60 dict_appl_core.inc
> 01/05/2017  02:12 AM    <DIR>          doc
> 01/05/2017  02:09 AM    <DIR>          examples
> 29/10/2014  04:17 AM            35,147 LICENSE.txt
> 21/07/2017  01:39 PM               124 make.bat
> 21/07/2017  01:15 PM               577 Myproj.asm
> 21/07/2017  01:40 PM             1,200 myproj.lst
> 27/06/2016  02:46 AM             1,944 readme.txt
> 01/05/2017  02:09 AM    <DIR>          tests
> 01/05/2017  02:12 AM    <DIR>          tools
> 19/05/2014  02:29 AM               361 uno.asm
> 21/07/2017  01:33 PM    <DIR>          words
>
> When I run make.bat from the command prompt I get:
> E:\amforth>make
>
> E:\amforth>avrasm2.exe -fI -o myproj.hex -e myproj.eep -l myproj.lst -I .\
> -I amforth\common -I amforth\avr8 -I include -v0 myproj.asm
> avr8\preamble.inc(2): error: Cannot find include file: macros.asm
> myproj.asm(16): error: Cannot find include file: words\usart_0.asm
> avr8\amforth.asm(9): error: jmp_: Unknown instruction or macro
> avr8\amforth.asm(9): error: PFA_COLD: Unknown instruction or macro
> avr8\amforth.asm(12): error: Cannot find include file:
> drivers/generic-isr.asm
> avr8\amforth.asm(14): error: Cannot find include file: dict/rww.inc
> dict_appl.inc(4): error: Cannot find include file: dict/compiler2.inc
> avr8\amforth.asm(23): error: Cannot find include file:
> amforth-interpreter.asm
> avr8\amforth.asm(24): error: Cannot find include file: dict/nrww.inc
> avr8\amforth.asm(36): error: Cannot find include file: amforth-eeprom.inc
>

avrasm2.exe does not find macros.asm.

macros.asm lives in ".../avr8/".

According to your structure that should be
"e:/amforth/avr8/macros.asm"

However, the -I (include) directives in your batch file do not
reflect this location. Since make.bat is located in "e:/amforth"
the include paths should probably read

> avrasm2.exe -fI -o myproj.hex -e myproj.eep -l myproj.lst -I .\ -I> .\common 
> -I .\avr8 -I .\include  -v0 myproj.asm


That being said, I do not see any advantage in rearranging the
tree. If you checkout amforth (or extract it from a tar ball)
the you should have this tree

+-- e:/amforth
    +-- LICENSE.txt
    +-- appl/
    |   +-- arduino/
    |   +-- ...
    |   +-- template/
    |   +-- my_project <-- copy of arduino
    +-- avr8/
    +-- common/
    +-- doc/
    +-- examples/
    +-- msp430/
    +-- readme.txt
    +-- tests/
    +-- tools/

I would highly recommend to create a copy of "arduino" or
"template" called my_project_1 (or whichever name seems
appropriate) and then change things in this new directory. The
-I directives should then read similar to

> avrasm2.exe ... -I ../../avr8/ -I ../../common/

because your project directory is two levels below "e:/amforth"


Hope this helps.

Cheers,
and welcome to AmForth!

Erich

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Amforth-devel mailing list for http://amforth.sf.net/
Amforth-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/amforth-devel

Reply via email to