#include "../Wine.tmpl"

MODULE = rc

.SUFFIXES: .rc

.rc.c:
	echo "#include \"windows.h\"" >$*.rct
	echo WINDOWS_H_ENDS_HERE >>$*.rct
	cat $< >>$*.rct
	$(CC) -E -x c -P $(CFLAGS) $*.rct | sed -e '1,/^WINDOWS_H_ENDS_HERE/d' | ./winerc -o $* -v -p $*
	$(RM) $*.rct

XCOMM This would be nicer, but it breaks gcc (2.5.8 on Linux)  --AJ
XCOMM gcc -E -x c -P $(CFLAGS) -imacros ../include/windows.h $*.rc | ./winerc -o $* -v -p $*

RCSRCS = sysres.rc

RCOBJS = $(RCSRCS:.rc=.o)

WineRelocatableTarget($(MODULE),,$(RCOBJS))

$(RCOBJS): winerc $(TOP)/include/windows.h

includes::
	touch $(RCSRCS:.rc=.h)

clean::
	$(RM) $(RCSRCS:.rc=.c) $(RCSRCS:.rc=.h) $(RCSRCS:.rc=.rct)


XCOMM Rules to build the winerc program

SRCS = \
	lex.yy.c \
	winerc.c \
	y.tab.c

OBJS = $(SRCS:.c=.o)

#ifdef SunArchitecture
YACC=bison -y
LEX=flex
LOCAL_LIBRARIES = -ly -ll
#endif
#if defined(i386BsdArchitecture) || defined(i386FreeBsd) || defined(FreeBSDArchitecture)
LOCAL_LIBRARIES = -ll
#endif

NormalProgramTarget(winerc,$(OBJS),$(DEPLIBS),$(LOCAL_LIBRARIES),)

depend:: y.tab.c y.tab.h lex.yy.c

DependTarget()

clean::
	$(RM) lex.yy.c y.tab.*

y.tab.c y.tab.h: parser.y
	$(YACC) -d -t parser.y

lex.yy.c: parser.l y.tab.h
	$(LEX) -8 -I parser.l
 

