
CXX=g++
CXXFLAGS= -g


# required libs:
# order is important
MYLIBS=  ../bin/libhflt.a
LIBS=    $(MYLIBS) -lm


SRC=$(wildcard ex*.cc)
#BIN=ex9 ex8 ex7 ex6 ex5 ex4 ex3 ex2 ex1 ex0
BIN=$(patsubst %.cc,%,$(SRC))
OBJ=$(patsubst %.cc,%.o,$(SRC))

#VDIR=./

#.PHONY: c
#c:
#	@echo $(SRC)
#	@echo $(BIN)

.PHONY: all
all: hflibs $(BIN)
	@echo "BINARIES ARE IN THE DIRECTORY "
	@pwd
	@echo "START THEM WITHOUT ANY ARGUMENTS "


#.PHONY:  force new
#new:  force
#force:
#	set -vx;
#	for f in $(SRC); \
#	do \
#		echo "f==[" $$f "]" \
#		echo $(CXX) $f -o`basename $$f .cc` $(LIBS); \
#		strip `basename $$f .cc` \
#	done \


STRIP=ls -l


#$(MYLIBS): hflibs

.PHONY:  hflib hflibs libs lib
lib:    hflibs
libs:   hflibs
hflib:  hflibs
hflibs:
	cd ..; $(MAKE) libs


.PHONY: 0 1 2 3 4 5 6 7 8 9

0: ex0
ex0:  ex0.cc hflibs $(MYLIBS)
	$(CXX) $(CXXFLAGS) $< -o$@ $(LIBS)
	$(STRIP) $@

1: ex1
ex1:  ex1.cc hflibs $(MYLIBS)
	$(CXX) $(CXXFLAGS) $< -o$@ $(LIBS)
	$(STRIP) $@

2: ex2
ex2:  ex2.cc hflibs $(MYLIBS)
	$(CXX) $(CXXFLAGS) $< -o$@ $(LIBS)
	$(STRIP) $@

3: ex3
ex3:  ex3.cc hflibs $(MYLIBS)
	$(CXX) $(CXXFLAGS) $< -o$@ $(LIBS)
	$(STRIP) $@

4: ex4
ex4:  ex4.cc hflibs $(MYLIBS)
	$(CXX) $(CXXFLAGS) $< -o$@ $(LIBS)
	$(STRIP) $@

5: ex5
ex5:  ex5.cc hflibs $(MYLIBS)
	$(CXX) $(CXXFLAGS) $< -o$@ $(LIBS)
	$(STRIP) $@

6: ex6
ex6:  ex6.cc hflibs $(MYLIBS)
	$(CXX) $(CXXFLAGS) $< -o$@ $(LIBS)
	$(STRIP) $@

7: ex7
ex7:  ex7.cc hflibs $(MYLIBS)
	$(CXX) $(CXXFLAGS) $< -o$@ $(LIBS)
	$(STRIP) $@

8: ex8
ex8:  ex8.cc hflibs $(MYLIBS)
	$(CXX) $(CXXFLAGS) $< -o$@ $(LIBS)
	$(STRIP) $@

9: ex9
ex9:  ex9.cc hflibs $(MYLIBS)
	$(CXX) $(CXXFLAGS) $< -o$@ $(LIBS)
	$(STRIP) $@


.PHONY: run
run: $(BIN)
	ex0
	ex1
	ex2
	ex3
	ex4
	ex5
	ex6
	ex7
	ex8
	ex9


.PHONY: index
idx: index
index:
	head -4 *.cc > index.txt


.PHONY: clean clobber
clobber: clean

clean:
	rm -f $(BIN) *.o *.dat .gdb_history

.PHONY: depend
depend:   # nothing to do
