diff --git a/Makefile b/Makefile
index bb47b0f9..a3592405 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
 #
-# avrdude - A Uploader/Downloader for AVR device programmers
+# avrdude - A Downloader/Uploader for AVR device programmers
 # Copyright (C) 2000, 2001, 2002, 2003  Brian S. Dean <bsd@bsdhome.com>
 #
 # This program is free software; you can redistribute it and/or modify
@@ -22,7 +22,7 @@
 #
 
 
-TARGET      = avrdude
+TARGET       = avrdude
 
 PREFIX      ?= /usr/local
 BINDIR       = ${PREFIX}/bin
@@ -49,6 +49,8 @@ LIBS       = -lreadline
 
 YYDEF  = -DYYSTYPE="struct token_t *"
 
+SRCS = avr.c config.c fileio.c lists.c main.c pgm.c ppi.c stk500.c term.c
+
 OBJS = config_gram.o avr.o config.o fileio.o lexer.o lists.o main.o pgm.o \
 	ppi.o stk500.o term.o
 
@@ -68,28 +70,24 @@ install : dirs                             \
 	  ${CONFIGDIR}/avrdude.conf.sample \
 	  ${CONFIGDIR}/avrdude.conf
 
-config_gram.o : avr.h config.h lists.h pindefs.h
+# these dependencies are manual
+config_gram.o : config.h lists.h pindefs.h ppi.h pgm.h stk500.h avr.h
+lexer.o : config.h y.tab.h lists.h
 
+# these dependencie are generated using 'make depend'
 avr.o: avr.c avr.h avrpart.h lists.h pgm.h pindefs.h config.h ppi.h
-
-config.o: config.c avr.h avrpart.h lists.h pgm.h pindefs.h config.h
-
+config.o: config.c avr.h avrpart.h lists.h pgm.h pindefs.h config.h \
+  y.tab.h
 fileio.o: fileio.c avr.h avrpart.h lists.h pgm.h pindefs.h fileio.h
-
 lists.o: lists.c lists.h
-
 main.o: main.c avr.h avrpart.h lists.h pgm.h pindefs.h config.h fileio.h \
-	ppi.h term.h
-
+  ppi.h term.h
 pgm.o: pgm.c pgm.h avrpart.h lists.h pindefs.h
-
 ppi.o: ppi.c avr.h avrpart.h lists.h pgm.h pindefs.h ppi.h config.h
-
-stk500.o: stk500.c stk500.h avr.h avrpart.h lists.h pgm.h pindefs.h stk500_private.h
-
+stk500.o: stk500.c avr.h avrpart.h lists.h pgm.h pindefs.h \
+  stk500_private.h
 term.o: term.c avr.h avrpart.h lists.h pgm.h pindefs.h config.h ppi.h
 
-
 dirs :
 	@for dir in ${DIRS}; do \
 	  if [ ! -d $$dir ]; then \
@@ -118,3 +116,8 @@ ${CONFIGDIR}/avrdude.conf : avrdude.conf.sample
 	fi
 	${INSTALL_DATA} avrdude.conf.sample $@
 
+depend :
+	@echo Dependency List:
+	@if [ ! -f y.tab.h ]; then touch y.tab.h; fi
+	@avr-gcc ${CFLAGS} -MM ${SRCS}
+
diff --git a/avr.c b/avr.c
index 61603a01..20df82a6 100644
--- a/avr.c
+++ b/avr.c
@@ -1,5 +1,5 @@
 /*
- * avrdude - A Uploader/Downloader for AVR device programmers
+ * avrdude - A Downloader/Uploader for AVR device programmers
  * Copyright (C) 2000, 2001, 2002, 2003  Brian S. Dean <bsd@bsdhome.com>
  *
  * This program is free software; you can redistribute it and/or modify
diff --git a/avr.h b/avr.h
index 8c7f8887..ecd39e64 100644
--- a/avr.h
+++ b/avr.h
@@ -1,5 +1,5 @@
 /*
- * avrdude - A Uploader/Downloader for AVR device programmers
+ * avrdude - A Downloader/Uploader for AVR device programmers
  * Copyright (C) 2000, 2001, 2002, 2003  Brian S. Dean <bsd@bsdhome.com>
  *
  * This program is free software; you can redistribute it and/or modify
diff --git a/avrdude.1 b/avrdude.1
index f94ae1c5..842bc7f7 100644
--- a/avrdude.1
+++ b/avrdude.1
@@ -1,5 +1,5 @@
 .\"
-.\" avrdude - A Uploader/Downloader for AVR device programmers
+.\" avrdude - A Downloader/Uploader for AVR device programmers
 .\" Copyright (C) 2001, 2002, 2003  Joerg Wunsch
 .\"
 .\" This program is free software; you can redistribute it and/or modify
diff --git a/avrpart.h b/avrpart.h
index a277b843..c53ee598 100644
--- a/avrpart.h
+++ b/avrpart.h
@@ -1,5 +1,5 @@
 /*
- * avrdude - A Uploader/Downloader for AVR device programmers
+ * avrdude - A Downloader/Uploader for AVR device programmers
  * Copyright (C) 2003  Brian S. Dean <bsd@bsdhome.com>
  *
  * This program is free software; you can redistribute it and/or modify
diff --git a/config.c b/config.c
index 0943ce06..0d643754 100644
--- a/config.c
+++ b/config.c
@@ -1,5 +1,5 @@
 /*
- * avrdude - A Uploader/Downloader for AVR device programmers
+ * avrdude - A Downloader/Uploader for AVR device programmers
  * Copyright (C) 2000, 2001, 2002, 2003  Brian S. Dean <bsd@bsdhome.com>
  *
  * This program is free software; you can redistribute it and/or modify
diff --git a/config.h b/config.h
index 5ceb0a6a..590ada5e 100644
--- a/config.h
+++ b/config.h
@@ -1,5 +1,5 @@
 /*
- * avrdude - A Uploader/Downloader for AVR device programmers
+ * avrdude - A Downloader/Uploader for AVR device programmers
  * Copyright (C) 2000, 2001, 2002, 2003  Brian S. Dean <bsd@bsdhome.com>
  *
  * This program is free software; you can redistribute it and/or modify
diff --git a/config_gram.y b/config_gram.y
index 86e9bec7..46399564 100644
--- a/config_gram.y
+++ b/config_gram.y
@@ -1,5 +1,5 @@
 /*
- * avrdude - A Uploader/Downloader for AVR device programmers
+ * avrdude - A Downloader/Uploader for AVR device programmers
  * Copyright (C) 2000, 2001, 2002, 2003  Brian S. Dean <bsd@bsdhome.com>
  *
  * This program is free software; you can redistribute it and/or modify
diff --git a/fileio.c b/fileio.c
index 6014b237..cf991cfc 100644
--- a/fileio.c
+++ b/fileio.c
@@ -1,5 +1,5 @@
 /*
- * avrdude - A Uploader/Downloader for AVR device programmers
+ * avrdude - A Downloader/Uploader for AVR device programmers
  * Copyright (C) 2000, 2001, 2002, 2003  Brian S. Dean <bsd@bsdhome.com>
  *
  * This program is free software; you can redistribute it and/or modify
diff --git a/fileio.h b/fileio.h
index 2753780d..9f020b87 100644
--- a/fileio.h
+++ b/fileio.h
@@ -1,5 +1,5 @@
 /*
- * avrdude - A Uploader/Downloader for AVR device programmers
+ * avrdude - A Downloader/Uploader for AVR device programmers
  * Copyright (C) 2000, 2001, 2002, 2003  Brian S. Dean <bsd@bsdhome.com>
  *
  * This program is free software; you can redistribute it and/or modify
diff --git a/lexer.l b/lexer.l
index 6c4b75d4..14de582c 100644
--- a/lexer.l
+++ b/lexer.l
@@ -1,5 +1,5 @@
 /*
- * avrdude - A Uploader/Downloader for AVR device programmers
+ * avrdude - A Downloader/Uploader for AVR device programmers
  * Copyright (C) 2000, 2001, 2002, 2003  Brian S. Dean <bsd@bsdhome.com>
  *
  * This program is free software; you can redistribute it and/or modify
diff --git a/lists.c b/lists.c
index 071bfcee..e2f0592a 100644
--- a/lists.c
+++ b/lists.c
@@ -1,5 +1,5 @@
 /*
- * avrdude - A Uploader/Downloader for AVR device programmers
+ * avrdude - A Downloader/Uploader for AVR device programmers
  * Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
  *   1998, 1999, 2000, 2001, 2002, 2003  Brian S. Dean <bsd@bsdhome.com>
  *
diff --git a/lists.h b/lists.h
index 57fddf01..20be40d1 100644
--- a/lists.h
+++ b/lists.h
@@ -1,5 +1,5 @@
 /*
- * avrdude - A Uploader/Downloader for AVR device programmers
+ * avrdude - A Downloader/Uploader for AVR device programmers
  * Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
  *   1998, 1999, 2000, 2001, 2002, 2003  Brian S. Dean <bsd@bsdhome.com>
  *
diff --git a/main.c b/main.c
index 19c0ad54..bf132778 100644
--- a/main.c
+++ b/main.c
@@ -1,5 +1,5 @@
 /*
- * avrdude - A Uploader/Downloader for AVR device programmers
+ * avrdude - A Downloader/Uploader for AVR device programmers
  * Copyright (C) 2000, 2001, 2002, 2003  Brian S. Dean <bsd@bsdhome.com>
  *
  * This program is free software; you can redistribute it and/or modify
diff --git a/pgm.c b/pgm.c
index 3b2bcf08..7fcf706b 100644
--- a/pgm.c
+++ b/pgm.c
@@ -1,5 +1,5 @@
 /*
- * avrdude - A Uploader/Downloader for AVR device programmers
+ * avrdude - A Downloader/Uploader for AVR device programmers
  * Copyright (C) 2002, 2003  Brian S. Dean <bsd@bsdhome.com>
  *
  * This program is free software; you can redistribute it and/or modify
diff --git a/pgm.h b/pgm.h
index 4d0a7c97..ea47f5e3 100644
--- a/pgm.h
+++ b/pgm.h
@@ -1,5 +1,5 @@
 /*
- * avrdude - A Uploader/Downloader for AVR device programmers
+ * avrdude - A Downloader/Uploader for AVR device programmers
  * Copyright (C) 2002, 2003  Brian S. Dean <bsd@bsdhome.com>
  *
  * This program is free software; you can redistribute it and/or modify
diff --git a/pindefs.h b/pindefs.h
index 689a777d..40307089 100644
--- a/pindefs.h
+++ b/pindefs.h
@@ -1,5 +1,5 @@
 /*
- * avrdude - A Uploader/Downloader for AVR device programmers
+ * avrdude - A Downloader/Uploader for AVR device programmers
  * Copyright (C) 2000, 2001, 2002, 2003  Brian S. Dean <bsd@bsdhome.com>
  *
  * This program is free software; you can redistribute it and/or modify
diff --git a/ppi.c b/ppi.c
index 96c7ed19..7d93d874 100644
--- a/ppi.c
+++ b/ppi.c
@@ -1,5 +1,5 @@
 /*
- * avrdude - A Uploader/Downloader for AVR device programmers
+ * avrdude - A Downloader/Uploader for AVR device programmers
  * Copyright (C) 2000, 2001, 2002, 2003  Brian S. Dean <bsd@bsdhome.com>
  *
  * This program is free software; you can redistribute it and/or modify
diff --git a/ppi.h b/ppi.h
index da9385ed..7b0571c0 100644
--- a/ppi.h
+++ b/ppi.h
@@ -1,5 +1,5 @@
 /*
- * avrdude - A Uploader/Downloader for AVR device programmers
+ * avrdude - A Downloader/Uploader for AVR device programmers
  * Copyright (C) 2000, 2001, 2002, 2003  Brian S. Dean <bsd@bsdhome.com>
  *
  * This program is free software; you can redistribute it and/or modify
diff --git a/stk500.c b/stk500.c
index beb0faab..07ac91f6 100644
--- a/stk500.c
+++ b/stk500.c
@@ -1,6 +1,6 @@
 /*
+ * avrdude - A Downloader/Uploader for AVR device programmers
  * Copyright (C) 2002, 2003  Brian S. Dean <bsd@bsdhome.com>
- * avrdude - A Uploader/Downloader for AVR device programmers
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/stk500.h b/stk500.h
index 5d1dc5b6..222fe666 100644
--- a/stk500.h
+++ b/stk500.h
@@ -1,5 +1,5 @@
 /*
- * avrdude - A Uploader/Downloader for AVR device programmers
+ * avrdude - A Downloader/Uploader for AVR device programmers
  * Copyright (C) 2002, 2003  Brian S. Dean <bsd@bsdhome.com>
  *
  * This program is free software; you can redistribute it and/or modify
diff --git a/term.c b/term.c
index 2eb5ca14..bb4110ca 100644
--- a/term.c
+++ b/term.c
@@ -1,5 +1,5 @@
 /*
- * avrdude - A Uploader/Downloader for AVR device programmers
+ * avrdude - A Downloader/Uploader for AVR device programmers
  * Copyright (C) 2000, 2001, 2002, 2003  Brian S. Dean <bsd@bsdhome.com>
  *
  * This program is free software; you can redistribute it and/or modify
diff --git a/term.h b/term.h
index 3cc04685..6148635a 100644
--- a/term.h
+++ b/term.h
@@ -1,5 +1,5 @@
 /*
- * avrdude - A Uploader/Downloader for AVR device programmers
+ * avrdude - A Downloader/Uploader for AVR device programmers
  * Copyright (C) 2000, 2001, 2002, 2003  Brian S. Dean <bsd@bsdhome.com>
  *
  * This program is free software; you can redistribute it and/or modify