INCS   = -I../../driver 
CFLAGS =  -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
LIBS   = 
MFLAG  = -M
MPLEXOBS = buffer.o inits.o interact.o systems.o domplex.o inptstrm.o \
	multplex.o timecode.o mplex.o cpptools.o ctools.o ringbuffy.o \
	bits.cpp remux.o transform.o

SRC  = $(wildcard *.c)
CPPSRC = $(wildcard *.cpp)
CSRC = $(wildcard *.cc) 
COBJ = $(notdir $(SRC:.c=.o)) 
OBJ  = $(notdir $(CSRC:.cc=.o)) ctools.o ringbuffy.o remux.o transform.o
CXX  = g++
CC   = gcc    
LINKS = streamtype ts2pes ps2vid pes2aud_es pes2aud pes2vid_es pes2vid \
	tspids pes2ts analyze pes_demux es_demux ts_demux ts_es_demux \
	pesplot remux pes2ts2 pes_repack split_mpg cut_mpg ts2ps ts2es\
	insert_pat_pmt get_http extract_pes extract_pes_payload\
	change_aspect_1_1 change_aspect_4_3 change_aspect_16_9 \
	change_aspect_221_1

DESTDIR = /usr/local/bin/

.PHONY: depend clean install uninstall


all: mpegtools mplex links

links: mpegtools
	for f in $(LINKS); do\
		ln -sf mpegtools $$f ;\
	done

clean:
	- rm -f *.o .depend mpegtools mplex ctest *~ $(LINKS) ctest


mpegtools: cpptools.o main.o ctools.o ringbuffy.o remux.o transform.o
	$(CXX) $(OBJ) $(LIBS) -o $@

ctest: ctools.o mainc.o ringbuffy.o remux.o transform.o
	$(CC) $(COBJ) -o $@

mplex: $(MPLEXOBS)
	$(CXX) $(MPLEXOBS) $(LIBS) -o $@

%.o:    %.cc 
	$(CXX) -c $(CFLAGS) $(INCS) $(DEFINES) $<

%.o:    %.cpp
	$(CXX) -c $(CFLAGS) $(INCS) $(DEFINES) $<

%.o:    %.c 
	$(CC) -c $(CFLAGS) $(INCS) $(DEFINES) $<

install: mpegtools
	cp mpegtools $(DESTDIR)mpegtools
	chmod 755 $(DESTDIR)mpegtools
	for f in $(LINKS); do\
		ln -sf $(DESTDIR)mpegtools $(DESTDIR)$$f ;\
	done

uninstall:
	for f in $(LINKS); do\
		rm -f $(DESTDIR)$$f; \
	done
	rm -f $(DESTDIR)mpegtools



.depend: 
	$(CXX) $(DEFINES) $(MFLAG) $(SRC) $(CSRC) $(CPPSRC) $(INCS)> .depend



include .depend
