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  
1269 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 $(AVRLIB)/utm.c $(TRG).c
34 SRC = buffer.c uart2.c rprintf.c timer.c vt100.c tsip.c nmea.c gps.c lcd_hd44780.c utm.c $(TRG).c
1212 kakl 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 #PRINTF_LIB = -Wl,-u,vfprintf -lprintf_flt
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
1269 kakl 82 #a2d.o : a2d.c a2d.h
1212 kakl 83 timer.o : timer.c timer.h global.h
1269 kakl 84 #pulse.o : pulse.c pulse.h timer.h global.h
1212 kakl 85 lcd.o : lcd.c lcd.h lcdconf.h global.h
1269 kakl 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
1212 kakl 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 lcd_hd44780.o : lcd_hd44780.c lcd_hd44780.h global.h
1214 kakl 96 utm.o : utm.c utm.h
1212 kakl 97 $(TRG).o : $(TRG).c global.h