#
# Linux Frame Buffer Device Configuration
#

CC =		gcc -Wall -O2 -I.
BISON =		bison -d
FLEX =		flex
INSTALL =	install
RM =		rm -f
PREFIX =

prefix =	/usr
sbindir =	$(prefix)/sbin
mandir =	$(prefix)/man
sysconfdir =	/etc

All:		fbset


fbset:		fbset.o modes.tab.o lex.yy.o

fbset.o:	fbset.c fbset.h fb.h
modes.tab.o:	modes.tab.c fbset.h fb.h
lex.yy.o:	lex.yy.c fbset.h modes.tab.h

lex.yy.c:	modes.l
		$(FLEX) modes.l

modes.tab.c:	modes.y
		$(BISON) modes.y

install:	fbset
		if [ -f $(PREFIX)/sbin/fbset ]; then rm $(PREFIX)/sbin/fbset; fi
		mkdir -p $(PREFIX)$(sbindir)
		$(INSTALL) -m 755 fbset $(PREFIX)$(sbindir)/
		$(INSTALL) -m 755 modeline2fb $(PREFIX)$(sbindir)/
		mkdir -p $(PREFIX)$(mandir)/man8
		$(INSTALL) -m 644 fbset.8 $(PREFIX)$(mandir)/man8/
		mkdir -p $(PREFIX)$(sysconfdir)
		$(INSTALL) -m 644 etc/fb.modes.ATI $(PREFIX)$(sysconfdir)/fb.modes
		mkdir -p $(PREFIX)$(mandir)/man5
		$(INSTALL) -m 644 fb.modes.5 $(PREFIX)$(mandir)/man5/

clean:
		$(RM) *.o fbset lex.yy.c modes.tab.c modes.tab.h
