# Makefile for Sula PrimeriX
# (C) 1997-1999 Tano Fotang

include ../mkconfig


ifeq ($(WIDGET_SET),xforms) 
	WIDGET_DIR= ../xforms
	WIDGET_INC= -I$(WIDGET_DIR)/include
	WIDGET_LIB= -l$(WIDGET_DEP_LIB) -L$(WIDGET_DIR)
else
	WIDGET_DIR= ../gtk
	WIDGET_INC= -I$(WIDGET_DIR)/include
	WIDGET_LIB= -l$(WIDGET_DEP_LIB) -L$(WIDGET_DIR)
endif
CFLAGS=$(CCFLAG) $(MK_CFLAGS) $(WIDGET_INC)
LIBS = $(WIDGET_LIB) $(SYSLIB)
OBJ=	userhost.o notify.o\
	keybinding.o timer.o flood.o scheme.o hooks.o util.o nc.o \
	idle_cb.o lag.o help.o set.o \
	cmd_def.o cmd.o ctcp.o checksum.o \
	dcc.o ignore.o nicks.o servers.o\
	mode.o user.o numeric.o  msg.o parser.o \
	common-chanwin_cb.o global.o\
	main.o

AUX_OBJ= sulahp.o

SRC= ${OBJ:%.o=%.c}
COMP=${OBJ:.o=}
AUXBIN  = sulahp

.SUFFIXES: .o .c

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

bin: sula
sula: $(OBJ) widget_dep aux  modules
	$(CC) $(LDFLAGS) -o $(BIN) $(OBJ) $(LIBS)
	-@echo -e "\nProgram compiled. \"make test\" for a test run.\n\
	\rType \"make install\" to install program\n\
	\r(\"make install_home\" to copy some files to home directory.)\n\n"

aux:sulahp
$(AUX_BIN):sulahp
sulahp:$(AUX_OBJ)
	$(CC) -Wall -o $(AUXBIN) $(AUX_OBJ)

all:	config depend $(BIN) $(AUXBIN)
${COMP}:
	$(CC) $(CFLAGS) -c $@.c
lib: widget_dep
widget_dep:
	@(cd $(WIDGET_DIR) && make)

modules:
	-@(cd ../trill && make)

config:
	$(CC) -Wall -o Config Config.c && ./Config

dep: depend
depend:
	touch .depend
	makedepend -f .depend -- $(CFLAGS) -- $(SRC)
	@(cd $(WIDGET_DIR) && make depend)

install:
	-@echo -e "\nStarting installation..\n"
	-test -d $(BIN_DIR) || mkdir -p $(BIN_DIR)
	-if test -f $(BIN_DIR)/$(BIN); then \
		cp -vf $(BIN_DIR)/$(BIN) $(BIN_DIR)/$(BIN).old; \
	fi
	cp -vf $(BIN) $(BIN_DIR) && chmod -v $(BINMODE) $(BIN_DIR)/$(BIN)
	-cp -vf $(AUXBIN) $(BIN_DIR) && chmod -v $(BINMODE) $(BIN_DIR)/$(AUXBIN)
	-cp -vf ../doc/$(AUXBIN).1 $(MAN_DIR)/man1

	-@echo
	-@echo -e "\nCopying configuration and help files..."
	-@echo Use X resource files \(\~/.Xdefaults etc\) for customarization.
	-@echo -e "See sula.app-defaults for entries. For GTK, also see conf/spx-gtkrc.\n"
	-@test -d $(LIB_DIR) && \
	(test -d $(LIB_DIR).old && rm -fr $(LIB_DIR).old;\
	mv -fv $(LIB_DIR) $(LIB_DIR).old; \
	echo -e " *************\n\
	Hello, previous $(LIB_DIR) has been moved to $(LIB_DIR).old\n\
	*************") 
	-test -d $(LIB_DIR) || mkdir -p $(LIB_DIR)
	-cp -dRf ../sula/* $(LIB_DIR)
	cp -dRf ../conf/* $(LIB_DIR)
	-cp -dRf ../scripts $(LIB_DIR)
#	-cp -dRf ../trill $(LIB_DIR)
	-cp -dRf ../sample_scripts $(LIB_DIR)
	-cp -f ../sula.app-defaults $(RESOURCE_DIR)/Sula
	-@cp -dRf ../doc $(DOCS_DIR)/sula
	-@echo Officially done. You may have to compile modules em.. by hand.
	-(cd ../trill && make install)
	-@echo -e "\n Done.\n\n" 

# copy some files to ~/.sula
install_home:
	-@echo -e "\nCopying files to ~/$(P_HOME)\n"
	-test -d $$HOME/$(P_HOME)  && \
	(test -d $$HOME/$(P_HOME).old && rm -fr $$HOME/$(P_HOME).old; \
	mv -vf $$HOME/$(P_HOME) $$HOME/$(P_HOME).old) 
	-(cd .. && ./user-install .  $$HOME/$(P_HOME))
clean:
	-rm -f *.o core .depend* ../include/config.bak $(BIN) sulahp Config
	-cd $(WIDGET_DIR) && make clean
	-cd ../trill && make clean

ifeq (.depend,$(wildcard .depend))
include .depend
endif

