SHELL = /bin/sh

PREFIX = /usr
BINDIR = $(PREFIX)/bin
DOCDIR = $(PREFIX)/share/doc/EnbanKensa
MSGDIR = $(PREFIX)/share/locale/ja/LC_MESSAGES
ENTRYDIR = $(PREFIX)/share/applications
ICONDIR = $(PREFIX)/share/pixmaps

DESTDIR =

INSTALL = /usr/bin/install -c

COMMDIR = ../../common

CC = gcc
MAKEDEP = gcc -M
GTK_CFLAGS = $(shell pkg-config --cflags gtk+-2.0)
GTK_LIBS = $(shell pkg-config --libs gtk+-2.0)
KVER = K2$(shell uname -r | cut -b 3)


VERSION = unknown

INCLUDES =  -I. -I$(COMMDIR) -I../images

PROGRAMS = EnbanKensa
MSGCATALOG = EnbanKensa.mo
DESKTOPENTRY = EnbanKensa.desktop
ICON = ../images/EnbanKensa.png

DOCS = ../../README ../../COPYING

SOURCES = main.c \
	mainwindow.c \
	messagebox.c \
	aspi.c \
	ui.c \
	common.c \
	settingdlg.c
COMMSRC = $(COMMDIR)/cmd.c \
	$(COMMDIR)/drive.c \
	$(COMMDIR)/scan.c \
	$(COMMDIR)/check.c \
	$(COMMDIR)/debug.c \
	$(COMMDIR)/option.c \
	$(COMMDIR)/text.c \
	$(COMMDIR)/ebstring.c

DEFS = -DVERSION=\"$(VERSION)\" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \
	-DUSE_GTK2=1 -DK2`uname -r | cut -b 3`=1
CPPFLAGS = 
LDFLAGS = 
LIBS = 
OBJECTS =  main.o \
	mainwindow.o \
	messagebox.o \
	aspi.o \
	ui.o \
	common.o \
	settingdlg.o \
	cmd.o \
	drive.o \
	scan.o \
	check.o \
	debug.o \
	option.o \
	text.o \
	ebstring.o

CFLAGS = -g -O2 -Wall $(DEFS) $(INCLUDES) $(GTK_CFLAGS)
LDFLAGS = $(GTK_LIBS)
CCLD = $(CC)

vpath %.c .:../../common


all: $(PROGRAMS) $(MSGCATALOG)

install: $(PROGRAMS)
	@[ -d $(DESTDIR)$(BINDIR) ] || mkdir -p $(DESTDIR)$(BINDIR)
	$(INSTALL) $< $(DESTDIR)$(BINDIR)
	@[ -d $(DESTDIR)$(DOCDIR) ] || mkdir -p $(DESTDIR)$(DOCDIR)
	$(INSTALL) -m 644 $(DOCS) $(DESTDIR)$(DOCDIR)
	@[ -d $(DESTDIR)$(MSGDIR) ] || mkdir -p $(DESTDIR)$(MSGDIR)
	$(INSTALL) $(MSGCATALOG) $(DESTDIR)$(MSGDIR)
	@[ -d $(DESTDIR)$(ENTRYDIR) ] || mkdir -p $(DESTDIR)$(ENTRYDIR)
	$(INSTALL) $(DESKTOPENTRY) $(DESTDIR)$(ENTRYDIR)
	@[ -d $(DESTDIR)$(ICONDIR) ] || mkdir -p $(DESTDIR)$(ICONDIR)
	$(INSTALL) $(ICON) $(DESTDIR)$(ICONDIR)

uninstall:
	rm -f $(DESTDIR)$(BINDIR)/$(PROGRAMS)
	rm -f $(DESTDIR)$(DOCDIR)
	rm -f $(DESTDIR)$(MSGDIR)/$(MSGCATALOG)

$(PROGRAMS) : $(OBJECTS)
	$(CCLD) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJECTS)

%.o: %.c
	$(CC) $(CFLAGS) -c $<

$(MSGCATALOG) : EnbanKensa.po
	msgfmt -o $@ $<

clean:
	rm -f $(PROGRAMS) $(OBJECTS) *~ *.bak

depend:
	$(MAKEDEP) $(CFLAGS) $(SOURCES) $(COMMSRC) > depend.mak

po:
	xgettext -c -d EnbanKensa -kGT --from-code EUC-JP \
		-o EnbanKensa.pot $(SOURCES) $(COMMSRC) $(COMMDIR)/*.h
	msgmerge EnbanKensa.po EnbanKensa.pot -o EnbanKensa.po

include depend.mak
