Rev Author Line No. Line
1212 kakl 1 # 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 = atmega161
20 MCU = atmega128
21  
22 #put the name of the target file here (without extension)
23 # Your "target" file is your C source file that is at the top level of your code.
24 # In other words, this is the file which contains your main() function.
25  
26 TRG = gpstest
27  
28 #put your C sourcefiles here
29 # Here you must list any C source files which are used by your target file.
30 # They will be compiled in the order you list them, so it's probably best
31 # to list $(TRG).c, your top-level target file, last.
32  
1214 kakl 33 SRC = $(AVRLIB)/buffer.c $(AVRLIB)/uart2.c $(AVRLIB)/rprintf.c $(AVRLIB)/timer.c $(AVRLIB)/vt100.c $(AVRLIB)/tsip.c $(AVRLIB)/nmea.c $(AVRLIB)/gps.c $(AVRLIB)/lcd_hd44780.c $(TRG).c $(AVRLIB)/utm.c
1212 kakl 34  
35 #put additional assembler source file here
36 # The ASRC line allows you to list files which contain assembly code/routines that
37 # you would like to use from within your C programs. The assembly code must be
38 # written in a special way to be usable as a function from your C code.
39  
40 ASRC =
41  
42 #additional libraries and object files to link
43 # Libraries and object files are collections of functions which have already been
44 # compiled. If you have such files, list them here, and you will be able to use
45 # use the functions they contain in your target program.
46  
47 LIB =
48  
49 #additional includes to compile
50 INC =
51  
52 #assembler flags
53 ASFLAGS = -Wa, -gstabs
54  
55 #compiler flags
56 CPFLAGS = -g -Os -Wall -Wstrict-prototypes -I$(AVRLIB) -Wa,-ahlms=$(<:.c=.lst)
57  
58 #linker flags
59 # LDFLAGS = -Wl,-Map=$(TRG).map,--cref
60 LDFLAGS = -Wl,-Map=$(TRG).map,--cref -lm
61 #PRINTF_LIB = -Wl,-u,vfprintf -lprintf_flt
62  
63 ########### you should not need to change the following line #############
64 include $(AVRLIB)/make/avrproj_make
65  
66 ###### dependecies, add any dependencies you need here ###################
67 # Dependencies tell the compiler which files in your code depend on which
68 # other files. When you change a piece of code, the dependencies allow
69 # the compiler to intelligently figure out which files are affected and
70 # need to be recompiled. You should only list the dependencies of *.o
71 # files. For example: uart.o is the compiled output of uart.c and uart.h
72 # and therefore, uart.o "depends" on uart.c and uart.h. But the code in
73 # uart.c also uses information from global.h, so that file should be listed
74 # in the dependecies too. That way, if you alter global.h, uart.o will be
75 # recompiled to take into account the changes.
76  
77 buffer.o : buffer.c buffer.h
78 uart.o : uart.c uart.h global.h
79 uart2.o : uart2.c uart2.h global.h
80 rprintf.o : rprintf.c rprintf.h
81 a2d.o : a2d.c a2d.h
82 timer.o : timer.c timer.h global.h
83 pulse.o : pulse.c pulse.h timer.h global.h
84 lcd.o : lcd.c lcd.h lcdconf.h global.h
85 i2c.o : i2c.c i2c.h global.h
86 spi.o : spi.c spi.h global.h
87 swpwm.o : swpwm.c swpwm.h global.h
88 servo.o : servo.c servo.h global.h
89 swuart.o : swuart.c swuart.h global.h
90 tsip.o : tsip.c tsip.h global.h
91 nmea.o : nmea.c nmea.h global.h
92 vt100.o : vt100.c vt100.h global.h
93 gps.o : gps.c gps.h global.h
94 lcd_hd44780.o : lcd_hd44780.c lcd_hd44780.h global.h
1214 kakl 95 utm.o : utm.c utm.h
1212 kakl 96 $(TRG).o : $(TRG).c global.h