# +-------------------------------------------------------+
# |                                                       |
# |     videogen                                          |
# |                                                       |
# |     a simple XFree86 Modeline calculator              |
# |     (c) 1997-2002, Szabolcs Rumi                      |   
# |                                                       |
# |     http://www.rtfm.hu/videogen                       |
# |                                                       |
# |     the videogen package is distributed under the     |
# |     GNU General Public License Version 2 (GPLv2)      |
# |                                                       |
# +-------------------------------------------------------+   





# installation directories

BINDIR = /usr/local/bin
MANDIR = /usr/local/man



# uncomment the definitions appropriate for your environment below

# Linux, FreeBSD, NetBSD, etc. (GNU cc, GNU make)
CC = gcc
CFLAGS = -Wall -O -g
CDEFS = -D_POSIX_SOURCE
LIBS = -lm

# SunOS 5.8 (Sun cc, GNU make)
#CC = cc
#CFLAGS = -O
#LIBS = -lm

# SGI IRIX 6.5 (MIPSpro cc, GNU make)
#CC = cc
#CFLAGS = -O
#LIBS = -lm

# Digital (Compaq, HP) UNIX 5.1A (DEC C, GNU Make)
#CC = cc
#CFLAGS = -w0 -O 
#LIBS = -lm

# HP-UX 10.20 (HP ANSI C, GNU Make)
#CC = cc
#CFLAGS = -Ae -O
#LIBS = -lm

# currently parser generation only works with GNU flex and bison,
# but the generated files are included in the source package so that
# you don't need any tools if you simply want to compile videogen

LEX = flex -i
YACC = bison -d





# ---------- do not change anything beyond this line ----------





# objects

OBJECTS = cfg.yy.o cfg.tab.o args.o checks.o misc.o videogen.o
INTERMEDIATE = cfg.tab.c cfg.tab.h cfg.yy.c



# targets

%.yy.c: %.l
	$(LEX) $<

%.tab.c %.tab.h: %.y
	$(YACC) $<

%.o: %.c
	$(CC) $(CFLAGS) $(CDEFS) -c $<

videogen: $(OBJECTS)
	$(CC) $(CFLAGS) $(CDEFS) -o videogen $(OBJECTS) $(LIBS)

cfg.yy.o: cfg.tab.h

.PRECIOUS: cfg.yy.c

clean:
	rm -f videogen $(OBJECTS)

distclean: clean
	rm -f core *~

realclean: distclean
	rm -f $(INTERMEDIATE)

all:
	$(MAKE) clean videogen

install:
	$(MAKE) all
	strip videogen
	cp videogen $(BINDIR)
	cp videogen.1x $(MANDIR)/man1
	chmod 755 $(BINDIR)/videogen
	chmod 644 $(MANDIR)/man1/videogen.1x

uninstall:
	rm -f $(BINDIR)/videogen
	rm -f $(MANDIR)/man1/videogen.1x





# EOF
