default: autocode
help:
	@echo "make options: install autocode (default)"

include ../../Configure

HOME	=	$(ROOT)/src/libautocode
SRC	=	$(HOME)/src
BIN	=	$(HOME)/bin
DEF	=	$(HOME)/def
LIB	=	$(HOME)/lib
INC	=	$(HOME)/include
MAN	= 	$(HOME)/doc
DESTLIB	=	$(LLIB)
DESTINC	=	$(LINC)
DESTMAN	=	$(LMAN)

INCS	=	-I$(INC) -I$(LINC)
LIBS	= 	-L$(LLIB)
CFLAGS	=	$(INCS) -D$(ARCH)
LFLAGS	=	$(LIBS)

install: $(DESTINC)/autocode.h $(DESTLIB)/libautocode.a
	@echo done install

autocode: $(INC)/autocode.h $(LIB)/libautocode.$(ARCH).a 
	@echo done autocode

# remember to add entries here to libohana/Makefile:AOBJ as well
LIBOBJ = \
$(SRC)/image.$(ARCH).o \
$(SRC)/regimage.$(ARCH).o \
$(SRC)/detreg.$(ARCH).o \
$(SRC)/photreg.$(ARCH).o \
$(SRC)/photreg-old.$(ARCH).o \
$(SRC)/smpdata.$(ARCH).o \
$(SRC)/spectrum.$(ARCH).o \
$(SRC)/spectrum-ascii.$(ARCH).o

LIBINC = \
$(INC)/image.h \
$(INC)/regimage.h \
$(INC)/detreg.h \
$(INC)/photreg.h \
$(INC)/photreg-old.h \
$(INC)/smpdata.h \
$(INC)/spectrum.h \
$(INC)/spectrum-ascii.h

$(LIBOBJ): $(INC)/autocode.h

$(INC)/autocode.h: $(LIBINC)
	cat $(DEF)/common.h >  $(INC)/autocode.h
	cat $(LIBINC)       >> $(INC)/autocode.h
	@echo "# endif"     >> $(INC)/autocode.h
	@echo done with libautocode.a:

$(DESTINC)/autocode.h: $(INC)/autocode.h
	@if [ ! -d $(DESTINC) ]; then mkdir -p $(DESTINC); fi
	rm -f $(DESTINC)/autocode.h
	cp $(INC)/autocode.h $(DESTINC)/
	@echo installed autocode.h

$(LIB)/libautocode.$(ARCH).a: $(LIBOBJ)
	@if [ ! -d $(LIB) ]; then mkdir -p $(LIB); fi
	rm -f $(LIB)/libautocode.$(ARCH).a
	ar rcv $(LIB)/libautocode.$(ARCH).a $(LIBOBJ)
	$(RANLIB) $(LIB)/libautocode.$(ARCH).a
	@echo done with libautocode.$(ARCH).a

$(DESTLIB)/libautocode.a: $(LIB)/libautocode.$(ARCH).a 
	@if [ ! -d $(DESTLIB) ]; then mkdir -p $(DESTLIB); fi
	rm -f  $(DESTLIB)/libautocode.a
	cp $(LIB)/libautocode.$(ARCH).a $(DESTLIB)/libautocode.a
	@echo installed libautocode.a

$(INC)/%.h: $(DEF)/%.d $(DEF)/autocode.h
	@if [ ! -d $(INC) ]; then mkdir -p $(INC); fi
	generate $< $(DEF)/autocode.h $@
	@echo done with $*.h

$(SRC)/%.c: $(DEF)/%.d $(DEF)/autocode.c
	@if [ ! -d $(SRC) ]; then mkdir -p $(SRC); fi
	generate $< $(DEF)/autocode.c $@
	@echo done with $*.c

%.$(ARCH).o: %.c
	$(CC) $(CFLAGS) -c $*.c -o $@
	@echo done with $*.o

%.$(ARCH).o: %.c
	$(CC) $(CFLAGS) -c $*.c -o $@
	@echo done with $*.o

clean:	
	rm -f `find . -name "*.o"`
	rm -f `find . -name "*.a"`
	rm -f `find . -name "*~"`
	rm -f `find . -name "#*"`
	rm -f `find src -name "*.c"`
	rm -f `find include -name "*.h"`
# 	this is an unusual target!  it deletes .c and .h files!

.PRECIOUS: $(SRC)/%.c
.PRECIOUS: %.$(ARCH).o
.PRECIOUS: $(BIN)/%.$(ARCH)
