| Line No. | Rev | Author | Line | 
|---|---|---|---|
| 1 | 6 | kaklik | # Makefile for AVR function library development and examples | 
| 2 | # Author: Pascal Stang | ||
| 3 | # | ||
| 4 | # For those who have never heard of makefiles: a makefile is essentially a | ||
| 5 | # script for compiling your code.  Most C/C++ compilers in the world are | ||
| 6 | # command line programs and this is even true of programming environments | ||
| 7 | # which appear to be windows-based (like Microsoft Visual C++).  Although | ||
| 8 | # you could use AVR-GCC directly from the command line and try to remember | ||
| 9 | # the compiler options each time, using a makefile keeps you free of this | ||
| 10 | # tedious task and automates the process. | ||
| 11 | # | ||
| 12 | # For those just starting with AVR-GCC and not used to using makefiles, | ||
| 13 | # I've added some extra comments above several of the makefile fields which | ||
| 14 | # you will have to deal with. | ||
| 15 | |||
| 16 | ########### change this lines according to your project ################## | ||
| 17 | #put the name of the target mcu here (at90s8515, at90s8535, attiny22, atmega603 etc.) | ||
| 18 | 	MCU = atmega163 | ||
| 19 | #	MCU = atmega323 | ||
| 20 | #	MCU = atmega161 | ||
| 21 | #	MCU = atmega128 | ||
| 22 | |||
| 23 | #put the name of the target file here (without extension) | ||
| 24 | #  Your "target" file is your C source file that is at the top level of your code. | ||
| 25 | #  In other words, this is the file which contains your main() function. | ||
| 26 | |||
| 27 | 	TRG = encodertest | ||
| 28 | |||
| 29 | #put your C sourcefiles here  | ||
| 30 | #  Here you must list any C source files which are used by your target file. | ||
| 31 | #  They will be compiled in the order you list them, so it's probably best | ||
| 32 | #  to list $(TRG).c, your top-level target file, last. | ||
| 33 | |||
| 34 | 	SRC = $(AVRLIB)/buffer.c $(AVRLIB)/uart.c $(AVRLIB)/rprintf.c $(AVRLIB)/timer.c $(AVRLIB)/vt100.c $(AVRLIB)/encoder.c $(TRG).c | ||
| 35 | |||
| 36 | #put additional assembler source file here | ||
| 37 | #  The ASRC line allows you to list files which contain assembly code/routines that | ||
| 38 | #  you would like to use from within your C programs.  The assembly code must be | ||
| 39 | #  written in a special way to be usable as a function from your C code. | ||
| 40 | |||
| 41 | 	ASRC = | ||
| 42 | |||
| 43 | #additional libraries and object files to link | ||
| 44 | #  Libraries and object files are collections of functions which have already been | ||
| 45 | #  compiled.  If you have such files, list them here, and you will be able to use | ||
| 46 | #  use the functions they contain in your target program. | ||
| 47 | |||
| 48 | 	LIB	= | ||
| 49 | |||
| 50 | #additional includes to compile | ||
| 51 | 	INC	=  | ||
| 52 | |||
| 53 | #assembler flags | ||
| 54 | 	ASFLAGS = -Wa, -gstabs | ||
| 55 | |||
| 56 | #compiler flags | ||
| 57 | 	CPFLAGS	= -g -Os -Wall -Wstrict-prototypes -I$(AVRLIB) -Wa,-ahlms=$(<:.c=.lst) | ||
| 58 | |||
| 59 | #linker flags | ||
| 60 | 	LDFLAGS = -Wl,-Map=$(TRG).map,--cref | ||
| 61 | #	LDFLAGS = -Wl,-Map=$(TRG).map,--cref -lm | ||
| 62 | |||
| 63 | |||
| 64 | ########### you should not need to change the following line ############# | ||
| 65 | include $(AVRLIB)/make/avrproj_make | ||
| 66 | |||
| 67 | ###### dependecies, add any dependencies you need here ################### | ||
| 68 | #  Dependencies tell the compiler which files in your code depend on which | ||
| 69 | #  other files.  When you change a piece of code, the dependencies allow | ||
| 70 | #  the compiler to intelligently figure out which files are affected and | ||
| 71 | #  need to be recompiled.  You should only list the dependencies of *.o  | ||
| 72 | #  files.  For example: uart.o is the compiled output of uart.c and uart.h | ||
| 73 | #  and therefore, uart.o "depends" on uart.c and uart.h.  But the code in | ||
| 74 | #  uart.c also uses information from global.h, so that file should be listed | ||
| 75 | #  in the dependecies too.  That way, if you alter global.h, uart.o will be | ||
| 76 | #  recompiled to take into account the changes. | ||
| 77 | |||
| 78 | buffer.o		: buffer.c		buffer.h | ||
| 79 | uart.o		: uart.c			uart.h		global.h | ||
| 80 | uart2.o		: uart2.c		uart2.h		global.h | ||
| 81 | rprintf.o	: rprintf.c		rprintf.h | ||
| 82 | a2d.o			: a2d.c			a2d.h | ||
| 83 | timer.o		: timer.c		timer.h		global.h | ||
| 84 | pulse.o		: pulse.c		pulse.h		timer.h	global.h | ||
| 85 | lcd.o			: lcd.c			lcd.h			global.h | ||
| 86 | i2c.o			: i2c.c			i2c.h			global.h | ||
| 87 | spi.o			: spi.c			spi.h			global.h | ||
| 88 | swpwm.o		: swpwm.c		swpwm.h		global.h | ||
| 89 | servo.o		: servo.c		servo.h		global.h | ||
| 90 | swuart.o		: swuart.c		swuart.h		global.h | ||
| 91 | tsip.o		: tsip.c			tsip.h		global.h | ||
| 92 | nmea.o		: nmea.c			nmea.h		global.h | ||
| 93 | vt100.o		: vt100.c		vt100.h		global.h | ||
| 94 | gps.o			: gps.c			gps.h			global.h | ||
| 95 | $(TRG).o		: $(TRG).c						global.h | 
Powered by WebSVN v2.8.3