include ../../Configure
HOME 	=	$(ROOT)/src/misc

default: misc

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

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

PROGRAMS = gconfig mknames fhead ftable fields list_astro glockfile \
radec mktemp precess csystem fits_insert mkgauss \
medianfilter mefhead mkfringetable gtfringetable ckfits applyscat fiximg

CFHT = cfhtlog

$(CFHT): 
	make $(BIN)/$@.$(ARCH)

$(PROGRAMS):
	make $(BIN)/$@.$(ARCH)

misc: $(PROGRAMS)

clean:
	for i in $(PROGRAMS); do make $$i.clean; done
	rm -f */*~
	rm -f */#*
	rm -f *~
	rm -f #*

install:
	for i in $(PROGRAMS); do make $$i.install; done

# special rules for specific targets
dbtest: src/dbtest.$(ARCH).o src/glockfile2.$(ARCH).o
	$(CC) -o dbtest src/dbtest.$(ARCH).o src/glockfile2.$(ARCH).o $(LIBS) $(CCFLAGS)

FAKESRC = $(SRC)/fakestars.$(ARCH).o $(SRC)/random.$(ARCH).o

$(BIN)/fakestars.$(ARCH): $(FAKESRC)
	@if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi
	$(CC) -o $(BIN)/fakestars.$(ARCH) $(FAKESRC) $(LIBS) $(CCFLAGS)

fakestars: $(BIN)/fakestars.$(ARCH)
	cp $(BIN)/fakestars.$(ARCH) $(DESTBIN)/fakestars

$(DESTBIN)/cfhtlog: $(SRC)/cfhtlog.$(ARCH)
	@if [ ! -d $(DESTBIN) ]; then mkdir -p $(DESTBIN); fi
	cp $(SRC)/cfhtlog.$(ARCH) $(DESTBIN)/

cfhtlog: $(SRC)/cfhtlog.$(ARCH)
$(SRC)/cfhtlog.$(ARCH): $(SRC)/cfhtlog.c
	$(CC) -I/cfht/include -L/cfht/lib -o $(SRC)/cfhtlog.$(ARCH) $(SRC)/cfhtlog.c -lcfht 

# RULES for making & installing

%.$(ARCH).o : %.c
	$(CC) $(INCS) -o $*.$(ARCH).o -c $< 

$(SRC)/%.$(ARCH).o : %.c
	$(CC) $(INCS) -o $*.$(ARCH).o -c $< 

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

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

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

%.clean:
	rm -f $(SRC)/$*.$(ARCH).o
	rm -f $(BIN)/$*.$(ARCH)
