-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 -O2 -D_GNU_SOURCE
-INCLUDES = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include
-LIBS = -ldbus-1 -lpthread
-SSH_ADDRESS = developer@192.168.253.254
-SSH_SCP = scp
-SSH_SSH = ssh
-SSH_PATH = /home/developer
+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
- $(MAD) $(CC) $(LDLFAGS) $(LIBS) -o $@ $^
+all: mtetherd-plugin.so
-%PHONY: copy run clean
+mtetherd: mtetherd.o device.o
+ $(CC) $(LDFLAGS) $(LIBS_DBUS) -o $@ $^
-copy: maemo-tethering
- $(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 $^