XCOMM $Id$

INCLUDES = -I$(TOP)/include -I$(TOP)

XCOMM Imake rules go here

XCOMM First, dll description to files etc
#ifndef MakeDllFromSpec
#ifndef NewBuild
#ifndef ShortNames
#define MakeDllFromSpec(name)						@@\
Concat(dll_,name.S) Concat3(dll_,name,_tab.c): name.spec $(TOP)/tools/build  @@\
	$(TOP)/tools/build name.spec					@@\

#else /* ShortNames */
#define MakeDllFromSpec(name)						@@\
Concat(dll_,name.S) Concat(dtb_,name.c): name.spec $(TOP)/tools/build   @@\
	$(TOP)/tools/build name.spec					@@\

#endif /* ShortNames */
#else /* NewBuild */
#ifndef ShortNames
#define MakeDllFromSpec(name)						@@\
Concat(dll_,name.S) Concat(rly_,name.S) Concat3(dll_,name,_tab.c): name.spec $(TOP)/tools/newbuild  @@\
	$(TOP)/tools/newbuild name.spec					@@\

#else /* ShortNames */
#define MakeDllFromSpec(name)						@@\
Concat(dll_,name.S) Concat(rly_,name.S) Concat(dtb_,name.c): name.spec $(TOP)/tools/newbuild   @@\
	$(TOP)/tools/newbuild name.spec					@@\

#endif /* ShortNames */
#endif /* NewBuild */
#endif /* MakeDllFromSpec */

/*
 * WineRelocatableTarget - generate rules to produce a relocatable object
 * file instead of a library.  
 */
#ifndef WineRelocatableTarget
#define WineRelocatableTarget(objname,objlist,depobj)				@@\
AllTarget(objname.o)							@@\
									@@\
objname.o: depobj							@@\
	$(RM) $@							@@\
	$(LD) $(LDCOMBINEFLAGS) objlist depobj -o $@
#endif /* WineRelocatableTarget */

