#CFLAGS=-I./ruby-1.8.2 -DDEBUG
CFLAGS=-I./ruby-1.8.2
RLIB=./ruby-1.8.2/libruby-static.a

OBJ=bin/main.o bin/command.o bin/cmdline.o bin/dirwnd.o bin/menu.o bin/file.o

all: mfiler mattr
#	./mfiler

mfiler: ruby-1.8.2/libruby-static.a mylib/mylib.a $(OBJ)
	-if [ `uname -s` = "FreeBSD" ] || [ `uname -s` = "CYGWIN_NT-5.0" ] || [ `uname -s` = "CYGWIN_NT-5.1" ]; then \
		g++ -o mfiler $(OBJ) mylib/mylib.a -lcurses $(RLIB) -lcrypt; \
	else \
		g++ -o mfiler $(OBJ) mylib/mylib.a -lcurses $(RLIB) -ldl -lcrypt; fi

mattr: mattr.cpp mylib/mylib.a
	g++ -o mattr mattr.cpp -lcurses

ruby-1.8.2/libruby-static.a: 
	cd ruby-1.8.2 && ./configure && make

mylib/mylib.a:
	cd mylib && make

bin/main.o: main.cpp common.h menu.h dirwnd.h
	g++ -c main.cpp $(CFLAGS)
	mv main.o bin/

bin/command.o: command.cpp common.h menu.h dirwnd.h
	g++ -c command.cpp $(CFLAGS)
	mv command.o bin/
      
bin/dirwnd.o: dirwnd.cpp common.h menu.h dirwnd.h
	g++ -c dirwnd.cpp $(CFLAGS)
	mv dirwnd.o bin/
      
bin/cmdline.o: cmdline.cpp common.h menu.h dirwnd.h
	g++ -c cmdline.cpp $(CFLAGS)
	mv cmdline.o bin/
      
bin/menu.o: menu.cpp common.h menu.h dirwnd.h
	g++ -c menu.cpp $(CFLAGS)
	mv menu.o bin/
      
bin/file.o: file.cpp common.h dirwnd.h menu.h
	g++ -c file.cpp $(CFLAGS)
	mv file.o bin/
   
clean:
	rm -f bin/* mfiler mattr
	cd mylib && make clean
