#
# makefile
#
# Copyright (C) 1994 Be Inc.  All Rights Reserved
#

SHELL		:= /bin/sh

#######
include $(BUILDHOME)/buildprefs/make.pre
#######
INCLUDES	+= -I.
TARGET		= $(OBJ_DIR)/flex

APP_VERSION     = -app 2 5 4 f 0 -short 2.5.4 -long "2.5.4 "`echo -n -e '\302\251'`" 1999 The Free Software Foundation"


SRCS		= \
				ccl.c \
				dfa.c \
				ecs.c \
				gen.c \
				main.c \
				misc.c \
				nfa.c \
				parse.c \
				scan.c \
				skel.c \
				sym.c \
				tblcmp.c \
				yylex.c
				
OBJS := $(SRCS_LIST_TO_OBJS)

FLEXLIB		= $(OBJ_DIR)/libfl.a

LIBOBJS		= \
				$(OBJ_DIR)/libmain.o \
				$(OBJ_DIR)/libyywrap.o

$(TARGET):	$(OBJ_DIR) $(OBJS) lib
		$(LD) -o $@ $(OBJS) $(FLEXLIB) $(LDFLAGS) 
		$(SETVERSION) $@ $(SYSTEM_VERSION) $(APP_VERSION)

$(FLEXLIB):	$(OBJ_DIR) $(LIBOBJS)	
		$(AR) $(ARFLAGS) $@ $(LIBOBJS)

install::	FORCE
		cp -f FlexLexer.h $(INSTALL_DEV_GNU_HEADERS)
		cp -f $(FLEXLIB) $(INSTALL_DEV_LIBS)
		ln -sf flex $(INSTALL_BIN)/flex++

lib:		FORCE $(FLEXLIB)
		cp $(FLEXLIB) $(BELIBRARIES)

parse.h: parse.c

parse.c: parse.y
	$(YACC) -d parse.y
	@sed '/extern char.*malloc/d' <y.tab.c >parse.tmp
	@mv parse.tmp parse.c
	@mv y.tab.h parse.h
	@rm -f y.tab.c

clean::
	rm -f parse.h parse.c

#######
include $(BUILDHOME)/buildprefs/make.post
#######
