#include "config.h"

/* ****** ******* */

#define __ID(x) x

/* ****** ******* */

ATSHOMEQ="$(ATSHOME)"
ATSCC=$(ATSHOMEQ)/bin/atscc
ATSOPT=$(ATSHOMEQ)/bin/atsopt

__ID(######)

ATSGCFLAG=
ATSGCFLAG=-D_ATS_GCATS

ATSCCFLAGS=-g
ATSCCFLAGS=-g -O
ATSCCFLAGS=-g -O2

__ID(######)

#if (SIZEOF_VOIDP==4)
ATSLIB=$(ATSHOMEQ)/ccomp/lib
#endif
#if (SIZEOF_VOIDP==8)
ATSLIB=$(ATSHOMEQ)/ccomp/lib64
#endif

__ID(######)

all:: libatsdoc

__ID(######)

SOURCES := \
  libatsdoc_error.sats \
  libatsdoc_error.dats \
  libatsdoc_symbol.sats \
  libatsdoc_symbol.dats \
  libatsdoc_symmap.sats \
  libatsdoc_symmap.dats \
  libatsdoc_filename.sats \
  libatsdoc_filename.dats \
  libatsdoc_location.sats \
  libatsdoc_location.dats \
  libatsdoc_reader.sats \
  libatsdoc_reader.dats \
  libatsdoc_lexbuf.sats \
  libatsdoc_lexbuf.dats \
  libatsdoc_atext.sats \
  libatsdoc_atext.dats \

SOURCESsta := $(filter %.sats, $(SOURCES))
SOURCESdyn := $(filter %.dats, $(SOURCES))

OBJECTS := $(SOURCES)
OBJECTS := $(patsubst %.sats, %_sats.o, $(OBJECTS))
OBJECTS := $(patsubst %.dats, %_dats.o, $(OBJECTS))

__ID(######)

libatsdoc_error_sats.o : SATS/libatsdoc_error.sats; $(ATSCC) $(ATSCCFLAGS) -c $<
libatsdoc_error_dats.o : DATS/libatsdoc_error.dats; $(ATSCC) $(ATSCCFLAGS) -c $<
libatsdoc_symbol_sats.o : SATS/libatsdoc_symbol.sats; $(ATSCC) $(ATSCCFLAGS) -c $<
libatsdoc_symbol_dats.o : DATS/libatsdoc_symbol.dats; $(ATSCC) $(ATSCCFLAGS) -c $<
libatsdoc_symmap_sats.o : SATS/libatsdoc_symmap.sats; $(ATSCC) $(ATSCCFLAGS) -c $<
libatsdoc_symmap_dats.o : DATS/libatsdoc_symmap.dats; $(ATSCC) $(ATSCCFLAGS) -c $<
libatsdoc_filename_sats.o : SATS/libatsdoc_filename.sats; $(ATSCC) $(ATSCCFLAGS) -c $<
libatsdoc_filename_dats.o : DATS/libatsdoc_filename.dats; $(ATSCC) $(ATSCCFLAGS) -c $<
libatsdoc_location_sats.o : SATS/libatsdoc_location.sats; $(ATSCC) $(ATSCCFLAGS) -c $<
libatsdoc_location_dats.o : DATS/libatsdoc_location.dats; $(ATSCC) $(ATSCCFLAGS) -c $<
libatsdoc_reader_sats.o : SATS/libatsdoc_reader.sats; $(ATSCC) $(ATSCCFLAGS) -c $<
libatsdoc_reader_dats.o : DATS/libatsdoc_reader.dats; $(ATSCC) $(ATSCCFLAGS) -c $<
libatsdoc_lexbuf_sats.o : SATS/libatsdoc_lexbuf.sats; $(ATSCC) $(ATSCCFLAGS) -c $<
libatsdoc_lexbuf_dats.o : DATS/libatsdoc_lexbuf.dats; $(ATSCC) $(ATSCCFLAGS) -c $<
libatsdoc_atext_sats.o : SATS/libatsdoc_atext.sats; $(ATSCC) $(ATSCCFLAGS) -c $<
libatsdoc_atext_dats.o : DATS/libatsdoc_atext.dats; $(ATSCC) $(ATSCCFLAGS) -c $<

__ID(######)

ARR=ar -r

__ID(######)

libatsdoc: dynloadall.dats $(OBJECTS); $(ATSCC) $(ATSCCFLAGS) -c dynloadall.dats; $(ARR) $(ATSLIB)/libatsdoc.a dynloadall_dats.o $(OBJECTS)

__ID(###### end of [Makefile] ######)
