
##### DEFAULT BUILD MODE IS RELEASE #####

######## NAMES OF EXECUTABLES ##########

CCEXE=g++
#LINKEXE=ld

######## COMPILER FLAGS ##########

#CFLAGS = /zq /oi /w4 /s /or /ot /5r /oa /ol+ /ox /ol+ /ox

######## NAME OF FINAL EXECUTABLE ########

EXENAME=ym_vpack

######## LIST OF OBJECTS ########

OBJECTS  = main.o list.o abstract.o bit_code.o ym_conv.o bit_out.o

LINK_OBJ1 = main.o \
	    list.o \
	    abstract.o \
	    bit_code.o \
	    ym_conv.o \
	    bit_out.o


######## LIST OF DEPENDENCES ########

$(EXENAME): $(OBJECTS) makefile
	$(CCEXE) -o $(EXENAME) $(OBJECTS)
	echo Done.

# I don't believe in automation in makefiles...

main.o : main.c main.h abstract.h ym_conv.h decoder.i makefile
	echo Compiling main.o ...
	$(CCEXE) -o main.o -c main.c

list.o : list.c list.h standard.h error.h makefile
	echo Compiling list.o ...
	$(CCEXE) -o list.o -c list.c 

abstract.o : abstract.c abstract.h bit_code.h phrase.h makefile
	echo Compiling abstract.o ...
	$(CCEXE) -o abstract.o -c abstract.c 

bit_code.o : bit_code.c bit_code.h list.h makefile
	echo Compiling bit_code.o ...
	$(CCEXE) -o bit_code.o -c bit_code.c

bit_out.o : bit_out.c bit_out.h makefile
	echo Compiling bit_out.o ...
	$(CCEXE) -o bit_out.o -c bit_out.c

ym_conv.o : ym_conv.c ym_conv.h makefile
	echo Compiling ym_conv.o ...
	$(CCEXE) -o ym_conv.o -c ym_conv.c 

clean : 
	rm *.o $(EXENAME)
