MODULE = jthread EXE = lib$(MODULE).so AR = ar CC = g++ JAVA = javac DOXYGEN = doxygen TARGET_ARCH = linux INCDIR = ./include LIBDIR = ./lib SRCDIR = ./src BINDIR = ./bin TESTDIR = ./tests DOCDIR = ./doc OPT = -fomit-frame-pointer -funroll-loops -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O2 DEBUG = -ggdb OTHER = -Wall -pthread -static -shared -ansi INCLUDE = -I. -I$(INCDIR) LIBRARY = -L. -L$(LIBDIR) -lpthread STD = _GNU_SOURCE ARFLAGS = -rc CCFLAGS = $(INCLUDE) $(DEBUG) $(OPT) $(OTHER) -D$(STD) OK = \033[30;32mOK\033[m OBJS = \ jcondition.o\ jmutex.o\ jsemaphore.o\ jthread.o\ jthreadexception.o\ jsemaphoreexception.o\ jmutexexception.o\ jautolock.o\ jthreadlib.o\ all: $(EXE) $(EXE): $(OBJS) @$(AR) $(ARFLAGS) $(EXE) $(OBJS) @mkdir -p $(BINDIR) $(LIBDIR) && mv $(EXE) $(LIBDIR) .cpp.o: $< @$(CC) $(CCFLAGS) $(OPT) -c $< ; echo -e "Compiling $< ... $(OK)" tests: @cd $(TESTDIR) && make && cd .. && echo -e "Compiling $< ... $(OK)" doc: @mkdir -p $(DOCDIR) install: clean: @cd tests && make clean && cd .. @rm -rf *.o *~ $(EXE) $(BINDIR) $(LIBDIR) $(DOCDIR) 2> /dev/null && echo -e "$(MODULE) clean $(OK)"