CC	= gcc
CFLAGS	= -Wall -O2 `gtk-config --cflags` #-DMYMALLOC
LOADLIBES = $(LDSTATIC) `gtk-config --libs` -DG_ENABLE_DEBUG #-lefence

TARGET	= sfm
INCLUDES = commun.h io.h sfm_doc.h sfm_view.h sfm_server.h textlist.h mymalloc.h filetype.h menu_pop.h
SOURCES	= commun.c io.c sfm_doc.c sfm_view.c ls_color.c sfm_server.c textlist.c sfm.c mymalloc.c filetype.c menu_pop.c
OBJS	= $(SOURCES:%.c=%.o)
VCFILES = $(SOURCES) $(INCLUDES) Makefile

.PHONY: dynamic static all dep depend TAGS ci version compile_and_launch

compile_and_launch: $(TARGET)
	#$(TARGET)


$(TARGET): $(OBJS)

#$(CC) $(LDFLAGS) $^ -o $@ $(LOADLIBES)

dynamic:
	rm -f $(TARGET)
	$(MAKE) $(TARGET)
	strip $(TARGET)
static:
	rm -f $(TARGET)
	export LDSTATIC='-static' ; $(MAKE) $(TARGET)
	strip $(TARGET)

all: $(TARGET)

depend dep:
	mv Makefile Makefile.old
	(sed '/^### Dep/q' Makefile.old; \
	    for i in *.c; do \
	    $(CC) $(CFLAGS) -MM $$i; done) > Makefile

TAGS:
	etags $(INCLUDES) $(SOURCES)

clean:
	rm -f *~ *.[oasi] $(TARGET) Makefile.old TAGS

ci:
	ci -l -mdefault $(VCFILES)

version:
ifdef V
	rcs -n$(V): $(VCFILES)
else
	@echo "missing option V=<version>"
endif


### Dependencies start here -- do not change this line #######
commun.o: commun.c commun.h mymalloc.h
filetype.o: filetype.c filetype.h commun.h mymalloc.h io.h
io.o: io.c io.h commun.h mymalloc.h sfm_server.h
ls_color.o: ls_color.c mymalloc.h
menu_pop.o: menu_pop.c menu_pop.h commun.h mymalloc.h sfm_view.h \
 sfm_doc.h io.h sfm_server.h textlist.h
mymalloc.o: mymalloc.c
sfm.o: sfm.c sfm_view.h sfm_doc.h io.h commun.h mymalloc.h \
 sfm_server.h textlist.h
sfm_doc.o: sfm_doc.c sfm_doc.h io.h commun.h mymalloc.h sfm_server.h \
 filetype.h
sfm_server.o: sfm_server.c sfm_server.h commun.h mymalloc.h sfm_view.h \
 sfm_doc.h io.h textlist.h filetype.h
sfm_view.o: sfm_view.c sfm_view.h sfm_doc.h io.h commun.h mymalloc.h \
 sfm_server.h textlist.h menu_pop.h filetype.h
textlist.o: textlist.c textlist.h
