UNIXPROGS=myidetool myaudio myvideo
WINPROGS=myidetool.exe myaudio.exe myvideo.exe
#UNIXPROGS=myidetool
#WINPROGS=myidetool.exe

.PHONY: all
all: linux win32

.PHONY: linux
linux: $(UNIXPROGS)

.PHONY: win32
win32: $(WINPROGS)

CXXFLAGS=-g -W -Wall -D_LARGEFILE64_SOURCE -DMYIDE_DEBUG

MINGW_CXXFLAGS=-DWINVER=0x0500

LDFLAGS=-g

TOOLOBJS=MyideDisk.o RawDisk.o RawDiskUnix.o Error.o AtrUtils.o \
	MyOpts.o CmdlineOpts.o FileOpts.o ImageManager.o \
	BaseProgressIndicator.o SimpleProgressIndicator.o \
	MyidePartitionInfo.o MyidePartitionInfoCHS.o \
	MyidePartitionInfoLBA.o MiscUtils.o

WINTOOLSRC=MyideDisk.cpp RawDisk.cpp RawDiskWin32.cpp Error.cpp AtrUtils.cpp \
	MyOpts.cpp CmdlineOpts.cpp FileOpts.cpp ImageManager.cpp \
	BaseProgressIndicator.cpp SimpleProgressIndicator.cpp \
	MyidePartitionInfo.cpp MyidePartitionInfoCHS.cpp \
	MyidePartitionInfoLBA.cpp MiscUtils.cpp

myidetool: myidetool.o $(TOOLOBJS)
	$(CXX) $(LDFLAGS) -o $@ $^

myidetool.exe: myidetool.cpp $(WINTOOLSRC)
	i586-mingw32msvc-g++ $(CXXFLAGS) $(MINGW_CXXFLAGS) -o $@ $^
	i586-mingw32msvc-strip $@

myaudio: myaudio.o $(TOOLOBJS)
	$(CXX) $(LDFLAGS) -o $@ $^

myaudio.exe: myaudio.cpp $(WINTOOLSRC)
	i586-mingw32msvc-g++ $(CXXFLAGS) $(MINGW_CXXFLAGS) -o $@ $^
	i586-mingw32msvc-strip $@

myvideo: myvideo.o $(TOOLOBJS)
	$(CXX) $(LDFLAGS) -o $@ $^

myvideo.exe: myvideo.cpp $(WINTOOLSRC)
	i586-mingw32msvc-g++ $(CXXFLAGS) $(MINGW_CXXFLAGS) -o $@ $^
	i586-mingw32msvc-strip $@

.PHONY: clean
clean:
	rm -f *.o $(UNIXPROGS) $(WINPROGS)

backup:
	tar zcf bak/myidetool-`date '+%y%m%d-%H%M'`.tgz \
	Makefile *.txt *.src *.cpp *.h mkdist

dep:
	rm -f .depend
	for i in *.cpp ; do \
		$(CXX) -MM $$i >> .depend ; \
	done

-include .depend


