include Makefile.tmp.ds.incl
include Makefile.tmp.opc.incl
include Makefile.tmp.srv.incl

ROOT_PATH=..

BUILD_SUBDIRS=..\Examples\random ..\..\Examples\mrandom

include Makefile.in

WINEXECUTABLE = opc-server.exe
WINLABVIEW = ..\labview\libopclv.dll
LIBRARY = libfzkopc

ALL_HEADERS =
XML_INCLUDE = C:\DEVEL\LIBXML\include
XSLT_INCLUDE = C:\DEVEL\LIBXML\include
INC_SRV = /I..\srv\ /I..\srv\frontend /I..\srv\backend /I..\srv\include
OBJECT_DIRECTORY = obj\


all: $(LIBRARY)_a.lib $(WINEXECUTABLE) $(WINLABVIEW) subdirs_all

clean: subdirs_clean
	- del obj\*.obj *.lib *.dll *.exp *.exe opc\servers\*.dll ..\labview\*.dll ..\labview\*.exp ..\labview\*.lib

$(LIBRARY_DS)_a.lib: $(ALL_OBJECTS_DS)
	$(AR) $(AR_FLAGS) /OUT:$(LIBRARY_DS)_a.lib $(ALL_OBJECTS_DS) 

$(LIBRARY_OPC)_a.lib: $(ALL_OBJECTS_OPC)
	$(AR) $(AR_FLAGS) /OUT:$(LIBRARY_OPC)_a.lib $(ALL_OBJECTS_OPC)

$(LIBRARY)_a.lib: $(LIBRARY_DS)_a.lib $(LIBRARY_OPC)_a.lib
	$(AR) $(AR_FLAGS) /OUT:$(LIBRARY)_a.lib $(LIBRARY_DS)_a.lib $(LIBRARY_OPC)_a.lib $(EXTRALIBS)

$(WINEXECUTABLE): $(SERVER_OBJECTS) $(LIBRARY)_a.lib
	$(LD) $(LDFLAGS) /OUT:$(WINEXECUTABLE) $(SERVER_OBJECTS) $(EXTRALIBS) $(WINLIBS) $(LIBS)

$(WINLABVIEW): $(LABVIEW_OBJECTS) $(LIBRARY)_a.lib
	$(LD) $(LDFLAGS) /DLL /OUT:$(WINLABVIEW) $(LABVIEW_OBJECTS) $(EXTRALIBS) $(WINLIBS) $(LIBS)


subdirs_all: 
	for %%I in ($(BUILD_SUBDIRS)) do ( \
		 chdir %%~I && \
		$(MAKE) $(MAKE_FLAGS)  \
	)

subdirs_clean: 
	for %%I in ($(BUILD_SUBDIRS)) do ( \
		chdir %%~I && \
		$(MAKE) $(MAKE_FLAGS) clean \
	)


include Makefile.tmp.ds.rules
include Makefile.tmp.opc.rules
include Makefile.tmp.srv.rules
