### MAKEMAKE STARTS HERE #########################################

CC      = g++
LD      = g++
AR      = ar rvs
CFLAGS  =  -I. -I/usr/include/ncurses -O2 $(CCDEF)
CCFLAGS =  -I. -I/usr/include/ncurses -O2 $(CCDEF)
LDFLAGS = $(LDDEF)
ARFLAGS = 
TARGET  = libvslib.a

# IN.SRC = *.cpp
# IN.HDR = *.h

### SOURCES ######################################################

SRC= \
     vsuti.cpp \
     vstring.cpp \
     vslib.cpp \
     unicon.cpp \
     sets.cpp \
     scroll.cpp \
     regexp2.cpp \
     main.cpp \
     getopt2.cpp \
     form_in.cpp \
     fnmatch2.cpp \
     eval.cpp \
     dlog.cpp \
     conmenu.cpp \
     clusters.cpp \
     ansiterm.cpp

#### OBJECTS #####################################################

OBJ= \
     vsuti.o \
     vstring.o \
     vslib.o \
     unicon.o \
     sets.o \
     scroll.o \
     regexp2.o \
     main.o \
     getopt2.o \
     form_in.o \
     fnmatch2.o \
     eval.o \
     dlog.o \
     conmenu.o \
     clusters.o \
     ansiterm.o

### TARGETS ######################################################

default: all

all: $(TARGET)
$(TARGET): $(OBJ)
	$(AR) $(ARFLAGS) $(TARGET) $(OBJ)
clean: 
	rm -f $(TARGET) $(OBJ)


### DEPENDENCES ##################################################

vsuti.cpp: vstring.h vsuti.h
	
vstring.cpp: vstring.h
	
vslib.cpp: vslib.h
	
unicon.cpp: unicon.h vstring.h
	
sets.cpp: sets.h
	
scroll.cpp: scroll.h
	
regexp2.cpp: regexp2.h
	
main.cpp: vslib.h
	
getopt2.cpp: getopt2.h
	
form_in.cpp: form_in.h scroll.h
	
fnmatch2.cpp: fnmatch2.h
	
eval.cpp: eval.h
	
dlog.cpp: dlog.h
	
conmenu.cpp:
	
clusters.cpp: clusters.h
	
ansiterm.cpp: ansiterm.h
	
ansiterm.h:
	
clusters.h:
	
conmenu.h:
	
dlog.h:
	
eval.h:
	
fnmatch2.h:
	
form_in.h: unicon.h vstring.h sets.h
	
getopt2.h:
	
regexp2.h:
	
scroll.h:
	
sets.h:
	
target.h:
	
unicon.h:
	
vslib.h:
	
vstring.h:
	
vsuti.h:
	

### TARGET OBJECTS ###############################################

vsuti.o: vsuti.cpp
	$(CC) $(CFLAGS) -c vsuti.cpp -o vsuti.o
vstring.o: vstring.cpp
	$(CC) $(CFLAGS) -c vstring.cpp -o vstring.o
vslib.o: vslib.cpp
	$(CC) $(CFLAGS) -c vslib.cpp -o vslib.o
unicon.o: unicon.cpp
	$(CC) $(CFLAGS) -c unicon.cpp -o unicon.o
sets.o: sets.cpp
	$(CC) $(CFLAGS) -c sets.cpp -o sets.o
scroll.o: scroll.cpp
	$(CC) $(CFLAGS) -c scroll.cpp -o scroll.o
regexp2.o: regexp2.cpp
	$(CC) $(CFLAGS) -c regexp2.cpp -o regexp2.o
main.o: main.cpp
	$(CC) $(CFLAGS) -c main.cpp -o main.o
getopt2.o: getopt2.cpp
	$(CC) $(CFLAGS) -c getopt2.cpp -o getopt2.o
form_in.o: form_in.cpp
	$(CC) $(CFLAGS) -c form_in.cpp -o form_in.o
fnmatch2.o: fnmatch2.cpp
	$(CC) $(CFLAGS) -c fnmatch2.cpp -o fnmatch2.o
eval.o: eval.cpp
	$(CC) $(CFLAGS) -c eval.cpp -o eval.o
dlog.o: dlog.cpp
	$(CC) $(CFLAGS) -c dlog.cpp -o dlog.o
conmenu.o: conmenu.cpp
	$(CC) $(CFLAGS) -c conmenu.cpp -o conmenu.o
clusters.o: clusters.cpp
	$(CC) $(CFLAGS) -c clusters.cpp -o clusters.o
ansiterm.o: ansiterm.cpp
	$(CC) $(CFLAGS) -c ansiterm.cpp -o ansiterm.o

### END ##########################################################
