SHELL = /bin/sh

GTKHOME = /cygdrive/g/GTK
#GTKHOME = /usr
GTK_INCLUDE = \
	-I$(GTKHOME)/include \
	-I$(GTKHOME)/include/gtk-2.0 \
	-I$(GTKHOME)/lib/gtk-2.0/include \
	-I$(GTKHOME)/include/atk-1.0 \
	-I$(GTKHOME)/include/cairo \
	-I$(GTKHOME)/include/pango-1.0 \
	-I$(GTKHOME)/include/glib-2.0 \
	-I$(GTKHOME)/lib/glib-2.0/include
GTK_CFLAGS = -mms-bitfields $(GTK_INCLUDE)
GTK_LIBS = -L$(GTKHOME)/lib \
	-lgtk-win32-2.0 \
	-lgdk-win32-2.0 \
	-latk-1.0 \
	-lgdk_pixbuf-2.0 \
	-lpangowin32-1.0 \
	-lgdi32 \
	-lpangocairo-1.0 \
	-lfontconfig \
	-lfreetype \
	-lz \
	-lpango-1.0 \
	-lm \
	-lcairo \
	-lgobject-2.0 \
	-lgmodule-2.0 \
	-lglib-2.0 \
	-lintl \
	-liconv

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

DESTDIR =

INSTALL = /usr/bin/install -c

DRVACDIR = ../DriveAccess

CC = gcc
#GTK_CFLAGS = `gtk-config --cflags`
#GTK_LIBS = `gtk-config --libs`

VERSION = 1.19.3

INCLUDES =  -I. -I$(DRVACDIR) -IWinAspi -IWinAspi/adaptec

PROGRAMS = EnbanFukusyaYa
MSGCATALOG = EnbanFukusyaYa.mo
DESKTOPENTRY = EnbanFukusyaYa.desktop
ICON = EnbanFukusyaYa.xpm

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

SOURCES = main.c \
	messagebox.c \
	settingdlg.c \
	filedlg.c \
	netdlg.c \
	WinAspi/aspi.c \
	ui.c \
	common.c
DRVACSRC = $(DRVACDIR)/cmd.c \
	$(DRVACDIR)/drive.c \
	$(DRVACDIR)/image.c \
	$(DRVACDIR)/netaccess.c \
	$(DRVACDIR)/netserver.c \
	$(DRVACDIR)/cmdlog.c \
	$(DRVACDIR)/copydisc.c \
	$(DRVACDIR)/option.c \
	$(DRVACDIR)/scan.c \
	$(DRVACDIR)/text.c \
	$(DRVACDIR)/log.c \
	$(DRVACDIR)/discinfo.c \
	$(DRVACDIR)/emg.c \
	$(DRVACDIR)/offsetiso.c \
	$(DRVACDIR)/mem.c

DEFS = -DVERSION=\"$(VERSION)\" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \
	-mno-cygwin
ifdef DEBUG
	DEFS += -DDEBUG=1 -DDEBUGMEM=1 -DDEBUGLOG=1
endif
CPPFLAGS = 
LDFLAGS = 
LIBS = -lws2_32
OBJECTS =  main.o \
	messagebox.o \
	settingdlg.o \
	filedlg.o \
	netdlg.o \
	aspi.o \
	ui.o \
	common.o \
	cmd.o \
	drive.o \
	image.o \
	netaccess.o \
	netserver.o \
	cmdlog.o \
	copydisc.o \
	option.o \
	scan.o \
	text.o \
	log.o \
	discinfo.o \
	emg.o \
	offsetiso.o \
	mem.o

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

vpath %.c .:../DriveAccess:WinAspi

.PHONY: dist

all: $(PROGRAMS) $(MSGCATALOG)

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

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

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

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

$(MSGCATALOG) : EnbanFukusyaYa.po
	$(GTKHOME)/bin/msgfmt -o $@ $<

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

depend:
	gcc -M $(CFLAGS) $(SOURCES) > depend.mak
	gcc -M $(CFLAGS) $(DRVACSRC) >> depend.mak

po:
	xgettext -c -d EnbanFukusyaYa -kGT --from-code EUC-JP \
		-o EnbanFukusyaYa.pot $(SOURCES) $(DRVACSRC) $(DRVACDIR)/*.h
	msgmerge EnbanFukusyaYa.po EnbanFukusyaYa.pot -o EnbanFukusyaYa.po

dist:
	bash ./makedist.sh

-include depend.mak
