blob: 2cebf0fbfee07089098e098923aa059f7146255f [file] [log] [blame]
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)