### Generated by Winemaker


SRCDIR                = .
SUBDIRS               = gdi32 winspool tools
DLLS                  =
EXES                  = ddiwrapper.exe



### Common settings

CEXTRA                = -mno-cygwin -D_ANONYMOUS_UNION= -D_ANONYMOUS_STRUCT= -D__INTERLOCKED_DECLARED -g -fpack-struct -Wall
CXXEXTRA              = -mno-cygwin
RCEXTRA               =
INCLUDE_PATH          = -I. -Iinclude -I/usr/local/include/wine -I/usr/include/wine
DLL_PATH              =
LIBRARY_PATH          =
LIBRARIES             =


### ddiwrapper.exe sources and settings

ddiwrapper_exe_MODULE   = ddiwrapper.exe
ddiwrapper_exe_C_SRCS   = main.c load.c options.c render.c util.c
ddiwrapper_exe_CXX_SRCS =
#ddiwrapper_exe_RC_SRCS  = rsrc.rc
ddiwrapper_exe_LDFLAGS  = -mwindows \
			-mno-cygwin
ddiwrapper_exe_DLL_PATH =
ddiwrapper_exe_DLLS     = odbc32 \
			ole32 \
			oleaut32 \
			winspool
ddiwrapper_exe_LIBRARY_PATH=
ddiwrapper_exe_LIBRARIES= uuid

ddiwrapper_exe_OBJS     = $(ddiwrapper_exe_C_SRCS:.c=.o) \
			$(ddiwrapper_exe_CXX_SRCS:.cpp=.o) \
			$(ddiwrapper_exe_RC_SRCS:.rc=.res)



### Global source lists

C_SRCS                = $(ddiwrapper_exe_C_SRCS)
CXX_SRCS              = $(ddiwrapper_exe_CXX_SRCS)
RC_SRCS               = $(ddiwrapper_exe_RC_SRCS)


### Tools

CC = winegcc
CXX = wineg++
RC = wrc
WINEBUILD = winebuild


### Generic targets

all: $(SUBDIRS) $(DLLS:%=%.so) $(EXES:%=%.so)

load.o: common.h
main.o: common.h
options.o: common.h

INSTDIR = $(DESTDIR)/usr/share/ddiwrapper

install: all
	install -d -m 755 $(INSTDIR)
	install -d -m 755 $(INSTDIR)/drivers
	install -m 644 wine.config $(INSTDIR)
	install -m 755 tools/createwineconf $(INSTDIR)
	install -d -m 755 $(INSTDIR)/dlls
	install -m 755 winspool/winspool.drv.so $(INSTDIR)/dlls
	install -m 755 gdi32/gdi32.dll.so $(INSTDIR)/dlls
	install -m 755 ddiwrapper.exe.so $(DESTDIR)/usr/bin
	install -m 755 tools/ddiwrapper $(DESTDIR)/usr/bin
	install -m 755 tools/msexpand $(DESTDIR)/usr/bin
	install -m 755 tools/ps2ddi $(DESTDIR)/usr/bin
	install -m 755 tools/excanondriver $(DESTDIR)/usr/sbin

### Build rules

.PHONY: all clean dummy

$(SUBDIRS): dummy
	@cd $@ && $(MAKE)

# Implicit rules

.SUFFIXES: .cpp .rc .res
DEFINCL = $(INCLUDE_PATH) $(DEFINES) $(OPTIONS)

.c.o:
	$(CC) -c $(CFLAGS) $(CEXTRA) $(DEFINCL) -o $@ $<

.cpp.o:
	$(CXX) -c $(CXXFLAGS) $(CXXEXTRA) $(DEFINCL) -o $@ $<

.cxx.o:
	$(CXX) -c $(CXXFLAGS) $(CXXEXTRA) $(DEFINCL) -o $@ $<

.rc.res:
	$(RC) $(RCFLAGS) $(RCEXTRA) $(DEFINCL) -fo$@ $<

# Rules for cleaning

CLEAN_FILES     = *.dbg.c y.tab.c y.tab.h lex.yy.c \
                  core *.orig *.rej \
                  \\\#*\\\# *~ *% .\\\#*

clean:: $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
	$(RM) $(CLEAN_FILES) $(RC_SRCS:.rc=.res) $(C_SRCS:.c=.o) $(CXX_SRCS:.cpp=.o)
	$(RM) $(DLLS:%=%.dbg.o) $(DLLS:%=%.so)
	$(RM) $(EXES:%=%.dbg.o) $(EXES:%=%.so) $(EXES:%.exe=%)

$(SUBDIRS:%=%/__clean__): dummy
	cd `dirname $@` && $(MAKE) clean

$(EXTRASUBDIRS:%=%/__clean__): dummy
	-cd `dirname $@` && $(RM) $(CLEAN_FILES)

### Target specific build rules

$(ddiwrapper_exe_MODULE).dbg.c: $(ddiwrapper_exe_C_SRCS) $(ddiwrapper_exe_CXX_SRCS)
	$(WINEBUILD) -o $@ --debug -C$(SRCDIR) $(ddiwrapper_exe_C_SRCS) $(ddiwrapper_exe_CXX_SRCS)

$(ddiwrapper_exe_MODULE).so: $(ddiwrapper_exe_MODULE).dbg.o $(ddiwrapper_exe_OBJS)
	$(CC) $(ddiwrapper_exe_LDFLAGS) -o $@ $(ddiwrapper_exe_OBJS) $(ddiwrapper_exe_MODULE).dbg.o $(ddiwrapper_exe_LIBRARY_PATH) $(LIBRARY_PATH) $(ddiwrapper_exe_DLLS:%=-l%) $(ddiwrapper_exe_LIBRARIES:%=-l%)


