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 -g -D_GNU_SOURCE
-INCLUDES = $(shell pkg-config --cflags dbus-1 libhildondesktop-1)
+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)
-HILDON_DESKTOP = $(shell pkg-config --variable=hildonstatusmenudesktopentrydir libhildondesktop-1)
-HILDON_PLUGIN = $(shell pkg-config --variable=hildondesktoplibdir libhildondesktop-1)
+LIBS_HILDON = $(shell pkg-config --libs libhildondesktop-1 hal glib-2.0 gtk+-2.0)
-all: mtetherd mtetherd-plugin.so
+all: mtetherd-plugin.so
mtetherd: mtetherd.o device.o
$(CC) $(LDFLAGS) $(LIBS_DBUS) -o $@ $^
-mtetherd-plugin.so: status.o
+mtetherd-plugin.so: plugin.o hal.o net.o util.o
$(CC) $(LDFLAGS) $(LIBS_HILDON) -shared -o $@ $^
-%PHONY: clean install uninstall
+%PHONY: clean install uninstall package
clean:
- rm -f *.o mtetherd mtetherd-plugin.so
-
-install: mtetherd mtetherd-plugin.so
- install -m 755 -D mtetherd $(DESTDIR)/$(PREFIX)/sbin/mtetherd
- install -m 644 -D event.d-mtetherd $(DESTDIR)/etc/event.d/mtetherd
- install -m 644 -D README $(DESTDIR)/$(PREFIX)/share/doc/mtetherd/README
- install -m 644 -D mtetherd-plugin.desktop $(DESTDIR)/$(HILDON_DESKTOP)/mtetherd-plugin.desktop
- install -m 755 -D mtetherd-plugin.so $(DESTDIR)/$(HILDON_PLUGIN)/mtetherd-plugin.so
+ $(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 -f $(DESTDIR)/$(PREFIX)/sbin/mtetherd
- rm -f $(DESTDIR)/etc/event.d/mtetherd
- rm -rf $(DESTDIR)/$(PREFIX)/share/doc/mtetherd
- rm -f $(DESTDIR)/$(HILDON_DESKTOP)/mtetherd-plugin.desktop
- rm -f $(DESTDIR)/$(HILDON_PLUGIN)/mtetherd-plugin.so
+ $(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
$(CC) $(CFLAGS) $(INCLUDES) -o $@ -c $^
+