www.mikrocontroller.net

Forum: Compiler & IDEs AVRStudio stürzt bei ext makefile ab


Autor: Robert Liebner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend,

ich versuche mein Projekt in AVRStudio zu debuggen, was bisher 
allerdings misslingt, da der Build in AVRStudio immer fehlschlägt.

Ich verwende Funktionen aus der Procyon AVRlib, schätzungsweise hakt es 
deshalb...

Wenn ich das makefile von AVRStudio erzeugen lassen, erhalte ich 
folgende Fehlermeldung:
make: *** No rule to make target `..//C/dev/AVRlib/buffer.c', needed by `buffer.o'. Stop. 

Kann mich jemand aufklären? Ich habe alle avrlib-sourcen eingebunden, 
include-pfade gesetzt usw. (von AVRStudio generiertes makefile im 
Anhang)

Wenn ich das Projekt über das ursprüngliche makefile "von Hand" 
erstelle, klappt alles wunderbar.
AVRStudio allerdings stürzt ab, wenn ich das makefile einbinde (ext. 
makefile verwenden)

Ursprüngliches makefile:


# Makefile for AVR function library development and examples
# Author: Pascal Stang
#
# For those who have never heard of makefiles: a makefile is essentially a
# script for compiling your code.  Most C/C++ compilers in the world are
# command line programs and this is even true of programming environments
# which appear to be windows-based (like Microsoft Visual C++).  Although
# you could use AVR-GCC directly from the command line and try to remember
# the compiler options each time, using a makefile keeps you free of this
# tedious task and automates the process.
#
# For those just starting with AVR-GCC and not used to using makefiles,
# I've added some extra comments above several of the makefile fields which
# you will have to deal with.

########### change this lines according to your project ##################
#put the name of the target mcu here (at90s8515, at90s8535, attiny22, atmega603 etc.)
#  MCU = atmega163
#  MCU = atmega161
#  MCU = atmega323
#  MCU = atmega128
  MCU = atmega8

#put the name of the target file here (without extension)
#  Your "target" file is your C source file that is at the top level of your code.
#  In other words, this is the file which contains your main() function.

  TRG = test

#put your C sourcefiles here
#  Here you must list any C source files which are used by your target file.
#  They will be compiled in the order you list them, so it's probably best
#  to list $(TRG).c, your top-level target file, last.

  SRC =  $(TRG).c $(AVRLIB)/rprintf.c $(AVRLIB)/uart.c $(AVRLIB)/buffer.c  pckb.c $(AVRLIB)/i2c.c $(AVRLIB)/i2ceeprom.c

#put additional assembler source file here
#  The ASRC line allows you to list files which contain assembly code/routines that
#  you would like to use from within your C programs.  The assembly code must be
#  written in a special way to be usable as a function from your C code.

  ASRC =

#additional libraries and object files to link
#  Libraries and object files are collections of functions which have already been
#  compiled.  If you have such files, list them here, and you will be able to use
#  use the functions they contain in your target program.

  LIB  =

#additional includes to compile
  INC  =

#assembler flags
  ASFLAGS = -Wa, -gstabs

#compiler flags
        CPFLAGS = -g -Os -Wall -Wstrict-prototypes -I$(AVRLIB) -Wa,-ahlms=$(<:.c=.lst)


#linker flags
  LDFLAGS = -Wl,-Map=$(TRG).map,--cref
  LDFLAGS += --no-channge-warnings
#  LDFLAGS = -Wl,-Map=$(TRG).map,--cref -lm
  
  
  
########### you should not need to change the following line #############
include $(AVRLIB)/make/avrproj_make
    
###### dependecies, add any dependencies you need here ###################
#  Dependencies tell the compiler which files in your code depend on which
#  other files.  When you change a piece of code, the dependencies allow
#  the compiler to intelligently figure out which files are affected and
#  need to be recompiled.  You should only list the dependencies of *.o
#  files.  For example: uart.o is the compiled output of uart.c and uart.h
#  and therefore, uart.o "depends" on uart.c and uart.h.  But the code in
#  uart.c also uses information from global.h, so that file should be listed
#  in the dependecies too.  That way, if you alter global.h, uart.o will be
#  recompiled to take into account the changes.

buffer.o    : buffer.c    buffer.h
uart.o    : uart.c      uart.h    global.h
uart2.o    : uart2.c    uart2.h    global.h
rprintf.o  : rprintf.c    rprintf.h
a2d.o      : a2d.c      a2d.h
timer.o    : timer.c    timer.h    global.h
pulse.o    : pulse.c    pulse.h    timer.h  global.h
lcd.o      : lcd.c      lcd.h      global.h
i2c.o      : i2c.c      i2c.h      global.h
spi.o      : spi.c      spi.h      global.h
swpwm.o    : swpwm.c    swpwm.h    global.h
servo.o    : servo.c    servo.h    global.h
swuart.o    : swuart.c    swuart.h    global.h
tsip.o    : tsip.c      tsip.h    global.h
nmea.o    : nmea.c      nmea.h    global.h
vt100.o    : vt100.c    vt100.h    global.h
gps.o      : gps.c      gps.h      global.h
$(TRG).o    : $(TRG).c            global.h

Wäre sehr dankbar für eine Erklärung...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.