--- /dev/null
+SRCDIRUTILS = utils
+SRCDIRCSA = intIndex
+CC = g++
+
+# If you have trouble with make, e.g.:
+# /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.3/libstdc++.a when searching for -lstdc++
+# ...
+# try adding
+# ln -s /usr/lib32/libstdc++.so.6.0.13 libstdc++.so
+#
+# The filename libstdc++.so.6.0.13 is probably different
+# but any from /usr/lib32 is fine.
+export CFLAGS = -O9 -m32 -L. -D_FORTIFY_SOURCE=0
+#export CFLAGS = -O0 -m32 -pg
+#export CFLAGS = -g -m32 -O0
+
+LIBINDEX = swcsa.a
+LIBINTINDEX = icsa.a
+
+all: clean wcsa cleanO
+
+wcsa: intIndexPackage buildFacade.o parameters.o hash.o valstring.o MemoryManager.o basics.o \
+ bitmap.o huffDec.o huff.o fileInfo.o
+ ar rc $(LIBINTINDEX) parameters.o buildFacade.o hash.o valstring.o MemoryManager.o basics.o \
+ bitmap.o huffDec.o huff.o fileInfo.o
+ mv $(LIBINTINDEX) $(LIBINDEX)
+
+################# SELF INDEX ON INTEGERS ##############################
+intIndexPackage:
+ cd $(SRCDIRCSA) && $(MAKE) -w
+ @echo "[copying the int-index lib into current dir]"
+ @cp $(SRCDIRCSA)/$(LIBINTINDEX) .
+
+
+####################### UTILS MODULES #################################
+
+parameters.o:
+ $(CC) $(CFLAGS) -c $(SRCDIRUTILS)/parameters.c
+
+fileInfo.o:
+ $(CC) $(CFLAGS) -c $(SRCDIRUTILS)/fileInfo.c
+
+hash.o: MemoryManager.o
+ $(CC) $(CFLAGS) -c $(SRCDIRUTILS)/hash.c
+
+
+MemoryManager.o:
+ $(CC) $(CFLAGS) -c $(SRCDIRUTILS)/MemoryManager.c
+
+valstring.o:
+ $(CC) $(CFLAGS) -c $(SRCDIRUTILS)/valstring.c
+
+huff.o:
+ $(CC) $(CFLAGS) -c $(SRCDIRUTILS)/huff.c
+
+huffDec.o:
+ $(CC) $(CFLAGS) -c $(SRCDIRUTILS)/huffDec.c
+
+
+basics.o:
+ $(CC) $(CFLAGS) -c $(SRCDIRUTILS)/basics.c
+
+bitmap.o:
+ $(CC) $(CFLAGS) -c $(SRCDIRUTILS)/bitmap.c
+
+
+############################ CLEANING #################################
+
+cleanO:
+ rm -f *.o
+
+clean:
+ cd $(SRCDIRCSA) && $(MAKE) clean -w
+ rm -rf *~ *% *.o core *.bak $(LIBINTINDEX) $(LIBINDEX)
+