include ../../Configure
HOME 	=	$(ROOT)/src/gcompare
default: all

BIN	=	$(HOME)/bin
MAN	=	$(HOME)/doc
SRC	=	$(HOME)/src
INC	=	$(HOME)/include
DESTBIN	=	$(LBIN)
DESTLIB	=	$(LLIB)
DESTINC	=	$(LINC)
DESTMAN	=	$(LMAN)

INCS	= 	-I$(INC) -I$(LINC) -I$(XINC)
LIBS	= 	-L$(LLIB) -lFITS -lohana -lm 
CFLAGS	=	$(INCS) 
CCFLAGS	=	$(INCS) $(LIBS) 
LFLAGS	=	$(LIBS)

INSTALL = gcompare

OBJ 	= \
$(SRC)/input.$(ARCH).o 				$(SRC)/output.$(ARCH).o    		\
$(SRC)/compare.$(ARCH).o 			$(SRC)/sort.$(ARCH).o      		\
$(SRC)/count_neighbors.$(ARCH).o                $(SRC)/nextline.$(ARCH).o		\
$(SRC)/nextword.$(ARCH).o

all: gcompare

# dependancy rules for binary code ##########################
.PRECIOUS: %.$(ARCH).o
.PRECIOUS: $(BIN)/%.$(ARCH)
.PRECIOUS: $(SRC)/%.$(ARCH).o

%.$(ARCH).o : %.c
	$(CC) $(CFLAGS) -c $^ -o $@

$(BIN)/%.$(ARCH) : $(SRC)/%.$(ARCH).o $(OBJ)
	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
	$(CC) $^ -o $@ $(LFLAGS)

$(DESTBIN)/%: $(BIN)/%.$(ARCH)
	@if [ ! -d $(DESTBIN) ]; then mkdir -p $(DESTBIN); fi
	rm -f $(DESTBIN)/$*
	cp $(BIN)/$*.$(ARCH) $(DESTBIN)/$*

%.install:
	make $(DESTBIN)/$*

$(INSTALL): % : $(BIN)/%.$(ARCH)

# utilities #################################################
clean:
	rm -f *~ 
	rm -f #* 
	rm -f */*~ 
	rm -f */#* 
	rm -f */*.o
	rm -f $(BIN)/gcompare.$(ARCH)

dist: clean
	rm -f $(BIN)/gcompare

install:
	for i in $(INSTALL); do make $$i.install; done
	mkdir -p $(DESTMAN)
	rm -f $(DESTMAN)/gcompare.1
	cp $(MAN)/gcompare.1 $(DESTMAN)/

