Deterministically order plugins, create cross-plugin call mechanism
[WebThing.git] / Makefile
index 1ac11b5..249504a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,15 +1,24 @@
+CS = gmcs
+CFLAGS = `pkg-config glib-2.0 libsoup-2.4 webkit-1.0 --cflags`
+LDFLAGS = `pkg-config glib-2.0 libsoup-2.4 webkit-1.0 --libs`
 CSFLAGS = -debug
 references = -r:webkit-sharp.dll -pkg:gtk-sharp-2.0
 
-all: main.exe plugins
+all: WebThingMain.exe plugins
 
-main.exe: main.cs WebThing.dll
-       gmcs $(CSFLAGS) -r:WebThing.dll main.cs
+.PHONY: tags
+tags:
+       ctags --extra=+fq --fields=+ianmzS '--c#-kinds=cimnpfes' *.cs
 
-WebThing.dll: WebThing.cs
-       gmcs $(CSFLAGS) $(references) -target:library -out:$@ $<
+WebThingMain.exe: WebThingMain.cs WebThing.dll SoupSettings.so
+       $(CS) $(CSFLAGS) -r:WebThing.dll -out:$@ WebThingMain.cs
+
+WebThing.dll: WebThing.cs WebThingView.cs WebThingPlugin.cs Config.cs PluginManager.cs
+       $(CS) $(CSFLAGS) $(references) -target:library -out:$@ $^
+
+SoupSettings.so: SoupSettings.c
+       $(CC) $(CFLAGS) -shared $(LDFLAGS) $< -o $@
 
 plugins:
        make -C plugins
-
 .PHONY: plugins