ifndef prefix
    export prefix=$(shell cd ../..;pwd)
endif

TARGET_STATIC  = libpslib.a
include ../Makefile.Globals

CFLAGS := -I/usr/local/include/libxml2 -I. -I../sysUtils -I../collections -I../dataManip \
    -I.. -I../image -I../fileUtils \
    -DTIME_CONFIG_FILE="\"$(TIME_CONFIG_FILE)\""

SRC_OBJS = psTime.o \
           psMetadata.o \
           psMetadataIO.o \
           psCoord.o \
           psAstrometry.o

OBJS = $(addprefix makedir/,$(SRC_OBJS))

HEADERS = $(SRC_OBJS:.o=.h) psPhotometry.h slalib.h

all: $(TARGET_STATIC)

psAstronomyErrors.h: psAstronomyErrors.dat
	perl ../parseErrorCodes.pl --data=$? $@


# Rule to make static library

libpslib.a:     $(OBJS)
# The ar option -r is to add/replace object and -s is to create
# a symbol table in the archive
	$(AR) rcs ../$@ $(OBJS)

# Define PHONY target "install" which will install necessary files
install: $(TARGET_STATIC)
	install $(HEADERS) $(includedir)

# Define PHONY target "distclean" which will cleanup the distribution
distclean:      clean
	$(RM) ../$(TARGET_STATIC)

# Define PHONY target "clean" which will cleanup the development area
clean:
	@echo "    Deleting intermediate files for 'astronomy'"
	$(RM) $(OBJS) *.lint $(SRC_OBJS:.o=.i)

cleandep:
	$(RM) $(OBJS:.o=.d)

%.lint: %.c
	splint +posixlib -exportlocal -realcompare $(INCLUDE_GLOBAL) $? > $@; cat $@

%.i: %.c
	$(CC) -E $(CFLAGS) -o $@ $<

makedir/%.o: %.c
	$(CC) -c $(CFLAGS) -o $@ $<

makedir/%.d: %.c
	$(CC) -MM $(CFLAGS) $< > $@.tmp
	sed 's|\($*\)\.o[ :]*|\1.o $@ : |g' $@.tmp > $@
	$(RM) -f $@.tmp

include $(OBJS:.o=.d)
