MCS=mcs

@ENABLE_GNOME_TRUE@ GNOME_PATH=-L ../art -L ../gnome
@ENABLE_GNOME_TRUE@ GNOME_ASSEMBLY=-r art-sharp.dll -r gnome-sharp.dll
@ENABLE_GNOME_TRUE@ GNOME_TARGETS=gnome-hello-world.exe canvas-example.exe fifteen.exe 

@ENABLE_GLADE_TRUE@ GLADE_PATH=-L ../glade
@ENABLE_GLADE_TRUE@ GLADE_ASSEMBLY=-r glade-sharp.dll
@ENABLE_GLADE_TRUE@ GLADE_TARGETS=glade-viewer.exe glade-test.exe

local_paths=-L ../glib -L ../pango -L ../atk -L ../gdk -L ../gtk $(GNOME_PATH) $(GLADE_PATH) 
all_assemblies=-r glib-sharp.dll -r pango-sharp.dll -r atk-sharp.dll -r gdk-sharp.dll -r gtk-sharp.dll $(GNOME_ASSEMBLY) $(GLADE_ASSEMBLY) -r System.Drawing


all: linux

windows:
	$(CSC) /unsafe /out:gtk-hello-world.exe /r:../glib/glib-sharp.dll /r:../gtk/gtk-sharp.dll /r:../gdk/gdk-sharp.dll HelloWorld.cs
	$(CSC) /unsafe /out:button.exe /r:../glib/glib-sharp.dll /r:../gtk/gtk-sharp.dll ButtonApp.cs

linux: gtk-hello-world.exe button.exe subclass.exe menu.exe size.exe scribble.exe treeviewdemo.exe $(GNOME_TARGETS) $(GLADE_TARGETS)
@ENABLE_GNOME_TRUE@	$(MAKE) -C gconf 

gtk-hello-world.exe: HelloWorld.cs
	$(MCS) --unsafe -o gtk-hello-world.exe $(local_paths) $(all_assemblies) HelloWorld.cs

gnome-hello-world.exe: GnomeHelloWorld.cs
	$(MCS) --unsafe -o gnome-hello-world.exe $(local_paths) $(all_assemblies) GnomeHelloWorld.cs

canvas-example.exe: CanvasExample.cs
	$(MCS) --unsafe -o canvas-example.exe $(local_paths) $(all_assemblies) CanvasExample.cs

fifteen.exe: Fifteen.cs
	$(MCS) --unsafe -o fifteen.exe $(local_paths) $(all_assemblies) Fifteen.cs

button.exe: ButtonApp.cs
	$(MCS) --unsafe -o button.exe $(local_paths) $(all_assemblies) ButtonApp.cs

subclass.exe: Subclass.cs
	$(MCS) --unsafe -o subclass.exe $(local_paths) $(all_assemblies) Subclass.cs

menu.exe: Menu.cs
	$(MCS) --unsafe -o menu.exe $(local_paths) $(all_assemblies) Menu.cs

size.exe: Size.cs
	$(MCS) --unsafe -o size.exe $(local_paths) $(all_assemblies) Size.cs

scribble.exe: Scribble.cs
	$(MCS) --unsafe -o scribble.exe $(local_paths) $(all_assemblies) Scribble.cs

treeviewdemo.exe: TreeViewDemo.cs
	$(MCS) --unsafe -o treeviewdemo.exe $(local_paths) $(all_assemblies) TreeViewDemo.cs

glade-viewer.exe: GladeViewer.cs
	$(MCS) --unsafe -o glade-viewer.exe $(local_paths) $(all_assemblies) GladeViewer.cs

glade-test.exe: GladeTest.cs test.glade
	$(MCS) --unsafe -resource:test.glade -o glade-test.exe $(local_paths) $(all_assemblies) GladeTest.cs

clean:
	rm -f *.exe
@ENABLE_GNOME_TRUE@	$(MAKE) -C gconf clean 

distclean: clean

unix:
	@echo "'make unix' is broken for now."

install: linux
@ENABLE_GNOME_TRUE@	$(MAKE) -C gconf install 
	
