#
## Makefile for 3Com ADSL Modem USB (information panel)
#

#
# variables
#
DEST_MACHINE = $(shell uname -m)
CC = gcc
#CFLAGS = -O2 -fomit-frame-pointer -pipe -march=$(DEST_MACHINE) -g -W -Wall -DLINUX
CFLAGS = -O2 -fomit-frame-pointer -pipe -march=$(DEST_MACHINE) -Wall -DLINUX
#LIBGLADE_FLAGS = `libglade-config --cflags --libs`
#LIBUSB_FLAGS = -I../libusb/ -L../libusb/.libs -lusb
INCLUDES = -I../include $(shell pkg-config --cflags gtk+) $(shell pkg-config --cflags libglade)
LDFLAGS = -rdynamic -lusb $(shell pkg-config --libs gtk+) $(shell pkg-config --libs libglade)
SOURCES = 3cpanel.c
TARGET = 3cpanel
LANGUAGES = es
SHARE_PATH = /usr/share
TMESG_PATH = /usr/share/locale
BIN_PATH = /usr/sbin

#
# entries
#
$(TARGET): $(SOURCES)
	$(CC) $(CFLAGS) $(INCLUDES) $(LDFLAGS) $^ -o $@ 

clean:
	rm -f $(TARGET) *.bak

install: install_program install_strings

install_program: $(TARGET)
	install -c -m 755 -p $^ $(BIN_PATH)
	install -c -m 644 -p $^.glade $(BIN_PATH)
	install -c -m 644 -p 3cp4218-tux-small-left-35.xpm $(BIN_PATH)

uninstall:
	rm -f $(BIN_PATH)/$(TARGET)
	rm -f $(BIN_PATH)/$(TARGET).glade
	rm -f $(BIN_PATH)/3cp4218-tux-small-left-35.xpm
	for i in $(LANGUAGES); do \
		rm -f $(TMESG_PATH)/$$i/LC_MESSAGES/$(TARGET).mo; \
		rm -f $(TMESG_PATH)/$$i/LC_MESSAGES/$(TARGET).glade.mo; \
	done

extract_strings: $(TARGET).c $(TARGET).glade
	xgettext -o $(TARGET).po -p po --omit-header $(TARGET).c
	libglade-xgettext -o po/$(TARGET).glade.po $(TARGET).glade

compile_strings: 
	for i in $(LANGUAGES); do \
		for j in po/$$i/*.po; do \
			msgfmt -o locale/$$i/LC_MESSAGES/`basename $$j | sed "s/\(.*\)\.[^\.]*$$/\1/"`.mo $$j; \
		done; \
	done;

install_strings:
	for i in $(LANGUAGES); do \
		if [ ! -d $(TMESG_PATH)/$$i/LC_MESSAGES ]; then \
			mkdir -p $(TMESG_PATH)/$$i/LC_MESSAGES; \
		fi; \
		for j in locale/$$i/LC_MESSAGES/*.mo; do \
			install -c -m 644 -p $$j $(SHARE_PATH)/`dirname $$j`; \
		done; \
	done

