include ../ENVIRONMENT

#CC = cc
#CFLAGS = -O
#LFLAGS = -p
#LIB = -lmalloc
#MATH_LIB = -lm

GLOBAL_DIR = ../global

COMMAND_OBJS = \
	arrange.o \
	avance.o \
	baseline.o \
	command.o \
	complex.o \
	convolve.o \
	fft.o \
	lp_extend.o \
	lp_first.o \
	lp_fit.o \
	lp_last.o \
	maxent.o \
	opus.o \
	phase.o \
	weight.o

LOCAL_OBJS = \
	process.o \
	block.o \
	block2.o \
	block3.o \
	files.o \
	script.o \
	store.o \
	$(COMMAND_OBJS)

LINPACK_OBJS = \
	$(GLOBAL_DIR)/linpack/caxpy.o \
	$(GLOBAL_DIR)/linpack/cdotc.o \
	$(GLOBAL_DIR)/linpack/cscal.o \
	$(GLOBAL_DIR)/linpack/csrot.o \
	$(GLOBAL_DIR)/linpack/cswap.o \
	$(GLOBAL_DIR)/linpack/scnrm2.o \
	$(GLOBAL_DIR)/linpack/srotg.o \
	$(GLOBAL_DIR)/linpack/r_cnjg.o \
	$(GLOBAL_DIR)/linpack/r_imag.o \
	$(GLOBAL_DIR)/linpack/r_sign.o \
	$(GLOBAL_DIR)/linpack/c_abs.o \
	$(GLOBAL_DIR)/linpack/c_div.o \
	$(GLOBAL_DIR)/linpack/csvdc.o

GLOBAL_OBJS = \
	$(GLOBAL_DIR)/avance_param.o \
	$(GLOBAL_DIR)/base.o \
	$(GLOBAL_DIR)/block_io.o \
	$(GLOBAL_DIR)/complex.o \
	$(GLOBAL_DIR)/conv.o \
	$(GLOBAL_DIR)/csvd.o \
	$(GLOBAL_DIR)/fblp.o \
	$(GLOBAL_DIR)/ft.o \
	$(GLOBAL_DIR)/help.o \
	$(GLOBAL_DIR)/lin_pred.o \
	$(GLOBAL_DIR)/lp.o \
	$(GLOBAL_DIR)/mem.o \
	$(GLOBAL_DIR)/par.o \
	$(GLOBAL_DIR)/parse.o \
	$(GLOBAL_DIR)/poly_roots.o \
	$(GLOBAL_DIR)/random.o \
	$(GLOBAL_DIR)/ref.o \
	$(GLOBAL_DIR)/svd.o \
	$(GLOBAL_DIR)/utility.o \
	$(LINPACK_OBJS)

process: locals globals
	$(CC) -o $@ $(LFLAGS) \
		$(LOCAL_OBJS) \
		$(GLOBAL_OBJS) \
		$(LIB) $(MATH_LIB)

local_objects: $(LOCAL_OBJS)

peak_objects: $(COMMAND_OBJS)

locals:
	$(MAKE) local_objects

globals:
	cd $(GLOBAL_DIR); $(MAKE) process_objects

peak:
	$(MAKE) peak_objects

.c.o:;	$(CC) -c $(CFLAGS) $<

clean:
	rm -f *.o

realclean: clean
	rm -f process

