summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile53
1 files changed, 53 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..38f5292
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,53 @@
+MCU = atmega8
+CPUFREQ = 160000000
+PROGRAMMER = dragon_isp
+
+CC = avr-gcc
+CFLAGS = -std=c89 -Wall -mmcu=$(MCU) -DF_CPU=$(CPUFREQ)
+LDFLAGS = -mmcu=$(MCU)
+BUILDDIR = build
+SOURCEDIR = src
+OBJECTDIR = obj
+
+OUTPUT = analog
+
+SRCS = $(wildcard $(SOURCEDIR)/*.c)
+OBJS = $(SRCS:.c=.o)
+OBJ = $(OBJS:$(SOURCEDIR)/%=$(OBJECTDIR)/%)
+
+build: dir $(OBJ)
+ @echo LD $(OBJ)
+ @$(CC) $(CFLAGS) -o $(BUILDDIR)/$(OUTPUT) $(OBJ) $(LDFLAGS)
+ @avr-objcopy -O ihex $(BUILDDIR)/$(OUTPUT) $(BUILDDIR)/$(OUTPUT).hex
+
+debug: -D _DEBUG
+debug: build;
+
+dir:
+ @mkdir -p $(OBJECTDIR)
+ @mkdir -p $(BUILDDIR)
+
+$(OBJECTDIR)/%.o: $(SOURCEDIR)/%.c
+ @echo CC $<
+ @$(CC) -c $(CFLAGS) $< -o $@
+
+.PHONY: clean
+clean:
+ @echo RM $(OBJ)
+ @echo RM $(BUILDDIR)/$(OUTPUT)
+ @rm -df $(OBJ)
+ @rm -Rdf $(BUILDDIR) $(OBJECTDIR)
+
+all: clean build
+
+flash: build
+ @avrdude -p $(MCU) -c $(PROGRAMMER) -U flash:w:$(BUILDDIR)/$(OUTPUT).hex:i
+
+devsetup:
+ @echo "--target=avr -isystem /usr/avr/include/ $(CFLAGS)" | tr ' ' '\n' > compile_flags.txt
+
+
+#--target=avr
+#tmarch=atmega8
+#-mmcu=atmega8
+#-I/usr/avr/include/