diff --git a/Makefile b/Makefile
index 9e85686..b8e6e02 100644
--- a/Makefile
+++ b/Makefile
@@ -15,13 +15,14 @@
 #
 # add -DUSE_READLINE	To compile in support for the GNU readline library.
 
-CFLAGS= -s -O2 -DUSE_READLINE
+CFLAGS=-DUSE_READLINE
 CC= gcc
-LIBS= -lreadline -ltermcap
+LIBS= -lreadline -lncursesw
 ALLFILES= makefile cdgram.y cdlex.l cdecl.c cdecl.1 testset testset++
-BINDIR= /usr/bin
-MANDIR= /usr/man/man1
-CATDIR= /usr/man/cat1
+PREFIX?= /usr
+BINDIR= $(PREFIX)/bin
+MANDIR= $(PREFIX)/man/man1
+CATDIR= $(PREFIX)/man/cat1
 INSTALL= install -c
 INSTALL_DATA= install -c -m 644
 
@@ -33,7 +34,7 @@ c++decl: cdgram.c cdlex.c cdecl.c
 	rm -f cdecl
 
 cdlex.c: cdlex.l
-	lex cdlex.l && mv lex.yy.c cdlex.c
+	flex cdlex.l && mv lex.yy.c cdlex.c
 
 cdgram.c: cdgram.y
 	yacc cdgram.y && mv y.tab.c cdgram.c
@@ -43,8 +44,10 @@ test:
 	./c++decl < testset++
 
 install: cdecl
+	$(INSTALL) -d $(BINDIR)
 	$(INSTALL) cdecl $(BINDIR)
 	ln $(BINDIR)/cdecl $(BINDIR)/c++decl
+	$(INSTALL) -d $(MANDIR)
 	$(INSTALL_DATA) cdecl.1 $(MANDIR)
 	$(INSTALL_DATA) c++decl.1 $(MANDIR)
 
diff --git a/cdecl.c b/cdecl.c
index f03f01e..1fdde9f 100644
--- a/cdecl.c
+++ b/cdecl.c
@@ -67,6 +67,7 @@ char cdeclsccsid[] = "@(#)cdecl.c	2.5 1/15/96";
 # include <stddef.h>
 # include <string.h>
 # include <stdarg.h>
+# include <errno.h>
 #else
 # ifndef NOVARARGS
 #  include <varargs.h>
@@ -124,7 +125,6 @@ char real_prompt[MAX_NAME+3];
 
 #if __STDC__
   char *ds(char *), *cat(char *, ...), *visible(int);
-  int getopt(int,char **,char *);
   int main(int, char **);
   int yywrap(void);
   int dostdin(void);
