INCLUDE = -I. -I.. -I../.. -I../Include -I../Public -I../OSDependent/Linux -I../../OGLCompilersDLL INCPREPROCESSOR=./preprocessor INCCODEGEN=./../GenericCodeGen INCOSDEPENDENT=./../OSDependent/Linux/ INCINITIALISATION=./../../OGLCompilersDLL/ LIBPREPROCESSOR=./preprocessor/libPreprocessor.a LIBOSDEPENDENT=./../OSDependent/Linux/libOssource.a LIBINITIALISATION=./../../OGLCompilersDLL/libInitializeDll.a LIBCODEGEN=./../GenericCodeGen/libCodeGen.a CXXFLAGS += $(DEFINE) $(INCLUDE) -fPIC SHAREDOBJECT=./lib/libglslang.so SRCS= gen_glslang_tab.cpp Initialize.cpp IntermTraverse.cpp \ Intermediate.cpp ParseHelper.cpp PoolAlloc.cpp limits.cpp \ RemoveTree.cpp ShaderLang.cpp SymbolTable.cpp intermOut.cpp \ parseConst.cpp InfoSink.cpp Versions.cpp Constant.cpp Scan.cpp \ linkValidate.cpp reflection.cpp OBJECTS := $(SRCS:.cpp=.o) DEPS := $(addprefix ., $(SRCS:.cpp=.d)) all: $(SHAREDOBJECT) $(SHAREDOBJECT): $(OBJECTS) $(LIBPREPROCESSOR) $(LIBCODEGEN) $(LIBOSDEPENDENT) $(LIBINITIALISATION) $(CXX) -fPIC -shared -o $@ -rdynamic -Wl,-whole-archive $(OBJECTS) $(LIBPREPROCESSOR) $(LIBCODEGEN) $(LIBOSDEPENDENT) $(LIBINITIALISATION) -Wl,-no-whole-archive cp $@ ../../Test cp $@ ../../Install/Linux gen_glslang_tab.o : gen_glslang_tab.cpp $(CXX) -fPIC -c $(INCLUDE) gen_glslang_tab.cpp -o $@ gen_glslang_tab.cpp glslang_tab.h: glslang.y @echo Generating gen_glslang_tab.cpp bison -t -v -d glslang.y mv glslang.tab.c gen_glslang_tab.cpp mv glslang.tab.h glslang_tab.cpp.h -include $(DEPS) %.o : %.cpp $(CXX) $(CXXFLAGS) -MMD -MP -MF $(addprefix ., $(<:.cpp=.d)) -c -o $@ $< $(LIBPREPROCESSOR): $(MAKE) -C $(INCPREPROCESSOR) $(LIBCODEGEN): $(MAKE) -C $(INCCODEGEN) $(LIBINITIALISATION): $(MAKE) -C $(INCINITIALISATION) $(LIBOSDEPENDENT): $(MAKE) -C $(INCOSDEPENDENT) # # Cleanup # clean : $(RM) *.o *.a gen_glslang_tab.cpp glslang_tab.cpp glslang_tab.cpp.h glslang_tab.h glslang.output $(RM) ./lib/*.so $(MAKE) -C $(INCPREPROCESSOR) clean $(MAKE) -C $(INCCODEGEN) clean $(MAKE) -C $(INCINITIALISATION) clean $(MAKE) -C $(INCOSDEPENDENT) clean .PHONY : clean $(LIBPREPROCESSOR) $(LIBCODEGEN) $(LIBOSDEPENDENT) $(LIBINITIALISATION)