#################
MAKEFILE      = Makefile
RM            = rm -f
CP            = cp
CC            = gpp
LD            = gpp
COMPFLAGS     = -I.
LDFLAGS       = 
DEPENDFLAGS   = -MM
LIBS          =
OTHER         = -Wno-deprecated

ifndef OPT_LEVEL
OPT_LEVEL_FLAG     = -DOPT_LEVEL=-1
EXE_FILE_INDEX	   =
else
OPT_LEVEL_FLAG     = -O$(OPT_LEVEL) -DOPT_LEVEL=$(OPT_LEVEL)
EXE_FILE_INDEX	   = $(OPT_LEVEL)
endif


#################
PERFOMETER_TARGET    = perfo$(EXE_FILE_INDEX).exe

BASIC_PERFO_OBJS = VERSION.o PFMETER.o ADAPT.o MAIN.o
USER_PERFO_OBJS = DEMO.o DEMO2.o

PERFOMETER_OBJS = $(BASIC_PERFO_OBJS) $(USER_PERFO_OBJS)

#################
# Target Rules
#################
.SUFFIXES :
.SUFFIXES : .h .H .cpp .CPP .o
.cpp.o .CPP.o:
	@echo "------------------"
	$(RM) $*.o
#	$(CC) $(DEPENDFLAGS) $<
	$(CC) $(COMPFLAGS) $(OPT_LEVEL_FLAG) $(OTHER) -c $<

#################
all:	perfo

help:
	@echo "USAGE : "
	@echo "  TBD"

perfo: 		$(PERFOMETER_TARGET)

#################
$(PERFOMETER_TARGET):	$(PERFOMETER_OBJS) $(LIBS) $(MAKEFILE)
		@echo "=================="
		$(RM) $(PERFOMETER_TARGET)
		$(LD) -o $(PERFOMETER_TARGET) $(LDFLAGS) $(PERFOMETER_OBJS) $(LIBS)
		@echo " "


#################
cleano:	        
	$(RM) $(PERFOMETER_OBJS)
	$(RM) *.ii
	$(RM) *.s
	$(RM) *.o
	$(RM) core

cleane:
	$(RM) $(PERFOMETER_TARGET)
	$(RM) *.exe

clean:	cleano cleane

#################
VERSION.o: $(MAKEFILE) VERSION.CPP version.h
PFMETER.o: $(MAKEFILE) PFMETER.CPP pfmeter2.h pfmeter.h macro.h user.h common.h version.h
ADAPT.o  : $(MAKEFILE) ADAPT.CPP adapt.h pfmeter2.h pfmeter.h macro.h user.h common.h version.h
DEMO.o   : $(MAKEFILE) DEMO.CPP demo.h adapt.h pfmeter2.h pfmeter.h macro.h user.h common.h version.h
DEMO2.o  : $(MAKEFILE) DEMO2.CPP demo.h adapt.h pfmeter2.h pfmeter.h macro.h user.h common.h version.h
MAIN.o   : $(MAKEFILE) MAIN.CPP adapt.h pfmeter2.h pfmeter.h macro.h user.h common.h version.h
