####### Compiler, tools and options TARGET = pip CC = gcc CXX = g++ CFLAGS = -pipe -D_REENTRANT CXXFLAGS = $(CFLAGS) INCPATH = -I. LINK = g++ LFLAGS = -Wl,-O2 LIBS = -lsocket DEL_FILE = rm -f DEL_DIR = rmdir ####### Output directory OBJECTS_DIR = ./ ####### Files SOURCES = main.cpp \ pibytearray.cpp \ piconfig.cpp \ piconsole.cpp \ pidir.cpp \ piethernet.cpp \ pievaluator.cpp \ pifile.cpp \ pikbdlistener.cpp \ pimath.cpp \ piprotocol.cpp \ piserial.cpp \ pistring.cpp \ pithread.cpp \ pitimer.cpp \ pivariable.cpp OBJECTS = main.o \ pibytearray.o \ piconfig.o \ piconsole.o \ pidir.o \ piethernet.o \ pievaluator.o \ pifile.o \ pikbdlistener.o \ pimath.o \ piprotocol.o \ piserial.o \ pistring.o \ pithread.o \ pitimer.o \ pivariable.o first: all ####### Implicit rules .SUFFIXES: .o .c .cpp .cc .cxx .C .cpp.o: $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" .cc.o: $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" .cxx.o: $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" .C.o: $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" .c.o: $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<" ####### Build rules all: Makefile $(TARGET) $(TARGET): $(OBJECTS) $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) clean:compiler_clean -$(DEL_FILE) $(OBJECTS) -$(DEL_FILE) *~ core *.core distclean: clean -$(DEL_FILE) $(TARGET) -$(DEL_FILE) Makefile compiler_clean: ####### Compile main.o: main.cpp pip.h \ pitimer.h \ pithread.h \ piincludes.h \ pimutex.h \ pivariable.h \ piconfig.h \ pifile.h \ pistring.h \ pibytearray.h \ pibitarray.h \ pichar.h \ piconsole.h \ pikbdlistener.h \ pievaluator.h \ pimath.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp pibytearray.o: pibytearray.cpp pibytearray.h \ pibitarray.h \ piincludes.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o pibytearray.o pibytearray.cpp piconfig.o: piconfig.cpp piconfig.h \ pifile.h \ piincludes.h \ pistring.h \ pibytearray.h \ pibitarray.h \ pichar.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o piconfig.o piconfig.cpp piconsole.o: piconsole.cpp piconsole.h \ pikbdlistener.h \ pithread.h \ piincludes.h \ pimutex.h \ pistring.h \ pibytearray.h \ pibitarray.h \ pichar.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o piconsole.o piconsole.cpp pidir.o: pidir.cpp pidir.h \ pifile.h \ piincludes.h \ pistring.h \ pibytearray.h \ pibitarray.h \ pichar.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o pidir.o pidir.cpp piethernet.o: piethernet.cpp piethernet.h \ pithread.h \ piincludes.h \ pimutex.h \ pistring.h \ pibytearray.h \ pibitarray.h \ pichar.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o piethernet.o piethernet.cpp pievaluator.o: pievaluator.cpp pievaluator.h \ pistring.h \ pibytearray.h \ pibitarray.h \ piincludes.h \ pichar.h \ pimath.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o pievaluator.o pievaluator.cpp pifile.o: pifile.cpp pifile.h \ piincludes.h \ pistring.h \ pibytearray.h \ pibitarray.h \ pichar.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o pifile.o pifile.cpp pikbdlistener.o: pikbdlistener.cpp pikbdlistener.h \ pithread.h \ piincludes.h \ pimutex.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o pikbdlistener.o pikbdlistener.cpp pimath.o: pimath.cpp pimath.h \ piincludes.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o pimath.o pimath.cpp piprotocol.o: piprotocol.cpp piprotocol.h \ piserial.h \ pithread.h \ piincludes.h \ pimutex.h \ pistring.h \ pibytearray.h \ pibitarray.h \ pichar.h \ piethernet.h \ pitimer.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o piprotocol.o piprotocol.cpp piserial.o: piserial.cpp piserial.h \ pithread.h \ piincludes.h \ pimutex.h \ pistring.h \ pibytearray.h \ pibitarray.h \ pichar.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o piserial.o piserial.cpp pistring.o: pistring.cpp pistring.h \ pibytearray.h \ pibitarray.h \ piincludes.h \ pichar.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o pistring.o pistring.cpp pithread.o: pithread.cpp pithread.h \ piincludes.h \ pimutex.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o pithread.o pithread.cpp pitimer.o: pitimer.cpp pitimer.h \ pithread.h \ piincludes.h \ pimutex.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o pitimer.o pitimer.cpp pivariable.o: pivariable.cpp pivariable.h \ piconfig.h \ pifile.h \ piincludes.h \ pistring.h \ pibytearray.h \ pibitarray.h \ pichar.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o pivariable.o pivariable.cpp ####### Install install: FORCE uninstall: FORCE FORCE: