Updated documentation for 0.2 release
[mtetherd] / Makefile
index 5e7494f..88c8112 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,29 +1,62 @@
-MAD = mad
+PREFIX = /usr
+HILDON_DESKTOP_DIR = $(shell pkg-config --variable=hildonstatusmenudesktopentrydir libhildondesktop-1)
+HILDON_PLUGIN_DIR = $(shell pkg-config --variable=hildondesktoplibdir libhildondesktop-1)
+BIN_DIR = $(PREFIX)/bin
+SBIN_DIR = $(PREFIX)/sbin
+DOC_DIR = $(PREFIX)/share/doc/mtetherd
+IMAGE_DIR = $(PREFIX)/share/pixmaps
+ETC_DIR = /etc
+TMP_DIR = /tmp
+RM = rm -f
+INSTALL = install
+FAKEROOT = fakeroot
+BUILDPKG = dpkg-buildpackage
 CC = gcc
-CFLAGS = -Wall -O0 -g -D_GNU_SOURCE
-INCLUDES = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include
-LDFLAGS = -g
-LIBS = -ldbus-1 -lpthread
-SSH_ADDRESS = developer@192.168.253.254
-SSH_SCP = scp
-SSH_SSH = ssh
-SSH_PATH = /home/developer
-DATA_FILES = main.c device.c device.h
+CFLAGS = -DLAUNCH_SYNCHRONOUS -Wall -O2 -g -D_GNU_SOURCE -DIMAGE_DIR=\"$(IMAGE_DIR)\" -DBIN_DIR=\"$(BIN_DIR)\" -DSBIN_DIR=\"$(SBIN_DIR)\" -DTMP_DIR=\"$(TMP_DIR)\"
+INCLUDES = $(shell pkg-config --cflags dbus-1 libhildondesktop-1 hal glib-2.0 gtk+-2.0)
+LDFLAGS =
+LIBS_DBUS = $(shell pkg-config --libs dbus-1)
+LIBS_HILDON = $(shell pkg-config --libs libhildondesktop-1 hal glib-2.0 gtk+-2.0)
 
-maemo-tethering: main.o device.o
-       $(MAD) $(CC) $(LDFLAGS) $(LIBS) -o $@ $^
+all: mtetherd-plugin.so
 
-%PHONY: copy run clean
+mtetherd: mtetherd.o device.o
+       $(CC) $(LDFLAGS) $(LIBS_DBUS) -o $@ $^
 
-copy: maemo-tethering $(DATA_FILES)
-       $(SSH_SCP) $^ $(SSH_ADDRESS):$(SSH_PATH)
+mtetherd-plugin.so: plugin.o hal.o net.o util.o
+       $(CC) $(LDFLAGS) $(LIBS_HILDON) -shared -o $@ $^
 
-run: copy
-       $(SSH_SSH) $(SSH_ADDRESS) $(SSH_PATH)/maemo-tethering
+%PHONY: clean install uninstall package
 
 clean:
-       rm -f *.o maemo-tethering
+       $(RM) *.o mtetherd mtetherd-plugin.so
+
+install: mtetherd-plugin.so
+       $(INSTALL) -m 644 -D README $(DESTDIR)/$(DOC_DIR)/README
+       $(INSTALL) -m 644 -D mtetherd-plugin.desktop $(DESTDIR)/$(HILDON_DESKTOP_DIR)/mtetherd-plugin.desktop
+       $(INSTALL) -m 755 -D mtetherd-plugin.so $(DESTDIR)/$(HILDON_PLUGIN_DIR)/mtetherd-plugin.so
+       $(INSTALL) -m 755 -D mtetherd-usbnet-enable.sh $(DESTDIR)/$(SBIN_DIR)/mtetherd-usbnet-enable.sh
+       $(INSTALL) -m 755 -D mtetherd-usbnet-disable.sh $(DESTDIR)/$(SBIN_DIR)/mtetherd-usbnet-disable.sh
+       $(INSTALL) -m 755 -D mtetherd-net-setup.sh $(DESTDIR)/$(SBIN_DIR)/mtetherd-net-setup.sh
+       $(INSTALL) -m 755 -D mtetherd-net-shutdown.sh $(DESTDIR)/$(SBIN_DIR)/mtetherd-net-shutdown.sh
+       $(INSTALL) -m 644 -D mtetherd.sudoers $(DESTDIR)/$(ETC_DIR)/sudoers.d/mtetherd.sudoers
+       $(INSTALL) -m 644 -D mtetherd-net-icon.png $(DESTDIR)/$(IMAGE_DIR)/mtetherd-net-icon.png
+
+uninstall:
+       $(RM) $(DESTDIR)/$(ETC_DIR)/event.d/mtetherd
+       $(RM) -r $(DESTDIR)/$(PREFIX)/share/doc/mtetherd
+       $(RM) $(DESTDIR)/$(HILDON_DESKTOP_DIR)/mtetherd-plugin.desktop
+       $(RM) $(DESTDIR)/$(HILDON_PLUGIN_DIR)/mtetherd-plugin.so
+       $(RM) $(DESTDIR)/$(SBIN_DIR)/mtetherd-usbnet-enable.sh
+       $(RM) $(DESTDIR)/$(SBIN_DIR)/mtetherd-usbnet-disable.sh
+       $(RM) $(DESTDIR)/$(SBIN_DIR)/mtetherd-net-setup.sh
+       $(RM) $(DESTDIR)/$(SBIN_DIR)/mtetherd-net-shutdown.sh
+       $(RM) $(DESTDIR)/$(ETC_DIR)/sudoers.d/mtetherd.sudoers
+       $(RM) $(DESTDIR)/$(IMAGE_DIR)/mtetherd-net-icon.png
+
+package:
+       $(FAKEROOT) $(BUILDPKG)
 
 %.o: %.c
-       $(MAD) $(CC) $(CFLAGS) $(INCLUDES) -o $@ -c $^
+       $(CC) $(CFLAGS) $(INCLUDES) -o $@ -c $^