Check in a much improved submitted set of makefiles for Linux builds. This eliminates dependencies on system headers, and generally simplifies the makefiles.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25408 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich 2014-02-19 01:00:58 +00:00
parent 2023368ce1
commit 8922da24a4
4 changed files with 52 additions and 243 deletions

View File

@ -1,41 +1,32 @@
CC=g++
SRCS := StandAlone.cpp
OBJECTS := $(SRCS:.cpp=.o)
DEPS := $(addprefix ., $(SRCS:.cpp=.d))
OBJECTPATH=./../glslang/MachineIndependent
LIBPATH=./../glslang/MachineIndependent/lib
SRCS=StandAlone.cpp
TARGETOBJECT=StandAlone.o
default: all
CXXFLAGS += -fPIC -I../glslang/OSDependent/Linux
all: glslangValidator
glslangValidator: $(TARGETOBJECT) SHAREDOBJECT
$(CC) -g -o $@ $(TARGETOBJECT) -L $(LIBPATH) -lglslang -lpthread -lm -lstdc++
glslangValidator: $(OBJECTS) regenlib
$(CC) -g -o $@ $(OBJECTS) -L $(LIBPATH) -lglslang -lpthread -lm -lstdc++
cp $@ ../Test
cp $@ ../Install/Linux
SHAREDOBJECT:
cd $(OBJECTPATH); make all
-include $(DEPS)
%.o : %.cpp
$(CC) -g -c -I../glslang/OSDependent/Linux $<
$(CXX) $(CXXFLAGS) -MMD -MP -MF $(addprefix ., $(<:.cpp=.d)) -c -o $@ $<
regenlib:
$(MAKE) -C $(OBJECTPATH)
#
# Cleanup
#
.PHONY : clean
.PHONY : clean glslangValidator regenlib
clean :
$(RM) *.o glslangValidator ../Install/Linux/glslangValidator
cd $(OBJECTPATH); make clean
depend:
cd $(OBJECTPATH); make depend
makedepend -Y -- $(SRCS)
# DO NOT DELETE
StandAlone.o: ./../glslang/Include/ShHandle.h
StandAlone.o: ./../glslang/Public/ShaderLang.h
StandAlone.o: ./../glslang/Include/InfoSink.h ./../glslang/Include/Common.h
StandAlone.o: ./../glslang/Include/PoolAlloc.h
StandAlone.o: ./../glslang/Public/ShaderLang.h
StandAlone.o: Worklist.h
$(MAKE) -C $(OBJECTPATH) clean

View File

@ -28,35 +28,9 @@ depend:
makedepend -- $(CFLAGS) -- $(SRCS)
# DO NOT DELETE
CodeGen.o: ../Include/Common.h /usr/include/stdint.h /usr/include/features.h
CodeGen.o: /usr/include/stdc-predef.h /usr/include/bits/predefs.h
CodeGen.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
CodeGen.o: /usr/include/gnu/stubs.h /usr/include/bits/wchar.h
CodeGen.o: /usr/include/stdio.h /usr/include/bits/types.h
CodeGen.o: /usr/include/bits/typesizes.h /usr/include/libio.h
CodeGen.o: /usr/include/_G_config.h /usr/include/wchar.h
CodeGen.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
CodeGen.o: /usr/include/assert.h ../Include/PoolAlloc.h /usr/include/string.h
CodeGen.o: /usr/include/xlocale.h ../Include/ShHandle.h
CodeGen.o: ../Public/ShaderLang.h ../Include/ResourceLimits.h
CodeGen.o: ../MachineIndependent/Versions.h ../Include/InfoSink.h
CodeGen.o: /usr/include/math.h /usr/include/bits/huge_val.h
CodeGen.o: /usr/include/bits/huge_valf.h /usr/include/bits/huge_vall.h
CodeGen.o: /usr/include/bits/inf.h /usr/include/bits/nan.h
CodeGen.o: /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h
Link.o: ../Include/Common.h /usr/include/stdint.h /usr/include/features.h
Link.o: /usr/include/stdc-predef.h /usr/include/bits/predefs.h
Link.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
Link.o: /usr/include/gnu/stubs.h /usr/include/bits/wchar.h
Link.o: /usr/include/stdio.h /usr/include/bits/types.h
Link.o: /usr/include/bits/typesizes.h /usr/include/libio.h
Link.o: /usr/include/_G_config.h /usr/include/wchar.h
Link.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
Link.o: /usr/include/assert.h ../Include/PoolAlloc.h /usr/include/string.h
Link.o: /usr/include/xlocale.h ../Include/ShHandle.h ../Public/ShaderLang.h
Link.o: ../Include/ResourceLimits.h ../MachineIndependent/Versions.h
Link.o: ../Include/InfoSink.h /usr/include/math.h
Link.o: /usr/include/bits/huge_val.h /usr/include/bits/huge_valf.h
Link.o: /usr/include/bits/huge_vall.h /usr/include/bits/inf.h
Link.o: /usr/include/bits/nan.h /usr/include/bits/mathdef.h
Link.o: /usr/include/bits/mathcalls.h
CodeGen.o: ../Include/Common.h ../Include/PoolAlloc.h ../Include/ShHandle.h
CodeGen.o: ../Public/ShaderLang.h
CodeGen.o: ../Include/InfoSink.h
Link.o: ../Include/Common.h ../Include/PoolAlloc.h ../Include/ShHandle.h
Link.o: ../Public/ShaderLang.h
Link.o: ../Include/InfoSink.h

View File

@ -1,5 +1,4 @@
INCLUDE = -I. -I.. -I../.. -I../Include -I../Public -I../OSDependent/Linux -I../../OGLCompilersDLL
CC=g++
INCPREPROCESSOR=./preprocessor
INCCODEGEN=./../GenericCodeGen
INCOSDEPENDENT=./../OSDependent/Linux/
@ -8,150 +7,60 @@ LIBPREPROCESSOR=./preprocessor/libPreprocessor.a
LIBOSDEPENDENT=./../OSDependent/Linux/libOssource.a
LIBINITIALISATION=./../../OGLCompilersDLL/libInitializeDll.a
LIBCODEGEN=./../GenericCodeGen/libCodeGen.a
OBJECTS= Initialize.o IntermTraverse.o \
Intermediate.o ParseHelper.o PoolAlloc.o \
RemoveTree.o ShaderLang.o intermOut.o parseConst.o SymbolTable.o \
InfoSink.o Versions.o Constant.o Scan.o limits.o linkValidate.o reflection.o
SRCS= gen_glslang_tab.cpp Initialize.cpp IntermTraverse.cpp \
Intermediate.cpp ParseHelper.cpp PoolAlloc.cp \
RemoveTree.cpp ShaderLang.cpp SymbolTable.cpp intermOut.cpp \
parseConst.cpp InfoSink.cpp Versions.cpp Constant.cpp Scan.cpp
CPPFLAGS=$(DEFINE) $(INCLUDE) -fPIC
CXXFLAGS += $(DEFINE) $(INCLUDE) -fPIC
SHAREDOBJECT=./lib/libglslang.so
default: all
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): gen_glslang_tab.o $(OBJECTS) $(LIBPREPROCESSOR) $(LIBCODEGEN) $(LIBOSDEPENDENT) $(LIBINITIALISATION)
$(CC) -fPIC -shared -o $@ -rdynamic -Wl,-whole-archive $(OBJECTS) $(LIBPREPROCESSOR) $(LIBCODEGEN) $(LIBOSDEPENDENT) $(LIBINITIALISATION) gen_glslang_tab.o -Wl,-no-whole-archive
$(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
$(CC) -fPIC -c $(INCLUDE) gen_glslang_tab.cpp -o $@
$(CXX) -fPIC -c $(INCLUDE) gen_glslang_tab.cpp -o $@
gen_glslang_tab.cpp glslang_tab.h: glslang.y
@echo Generating gen_glslang_tab.cpp
@dos2unix glslang.y
bison -t -v -d glslang.y
@unix2dos glslang.y
mv glslang.tab.c gen_glslang_tab.cpp
mv glslang.tab.h glslang_tab.cpp.h
-include $(DEPS)
%.o : %.cpp
$(CC) $(CPPFLAGS) -c $<
$(CXX) $(CXXFLAGS) -MMD -MP -MF $(addprefix ., $(<:.cpp=.d)) -c -o $@ $<
$(LIBPREPROCESSOR):
cd $(INCPREPROCESSOR); make
$(MAKE) -C $(INCPREPROCESSOR)
$(LIBCODEGEN):
cd $(INCCODEGEN); make
$(MAKE) -C $(INCCODEGEN)
$(LIBINITIALISATION):
cd $(INCINITIALISATION); make
$(MAKE) -C $(INCINITIALISATION)
$(LIBOSDEPENDENT):
cd $(INCOSDEPENDENT); make
$(MAKE) -C $(INCOSDEPENDENT)
depend:
cd $(INCPREPROCESSOR); make depend
cd $(INCCODEGEN); make depend
cd $(INCINITIALISATION); make depend
cd $(INCOSDEPENDENT); make depend
makedepend -Y -- $(CPPFLAGS) -- $(SRCS)
#
# Cleanup
#
.PHONY : clean $(LIBPREPROCESSOR) $(LIBCODEGEN) $(LIBOSDEPENDENT) $(LIBINITIALISATION)
clean :
$(RM) *.o *.a gen_glslang_tab.cpp glslang_tab.cpp glslang_tab.cpp.h glslang_tab.h glslang.output
$(RM) ./lib/*.so
cd $(INCPREPROCESSOR); make clean
cd $(INCCODEGEN); make clean
cd $(INCINITIALISATION); make clean
cd $(INCOSDEPENDENT); make clean
# DO NOT DELETE
$(MAKE) -C $(INCPREPROCESSOR) clean
$(MAKE) -C $(INCCODEGEN) clean
$(MAKE) -C $(INCINITIALISATION) clean
$(MAKE) -C $(INCOSDEPENDENT) clean
gen_glslang_tab.o: SymbolTable.h ../Include/Common.h ../Include/PoolAlloc.h
gen_glslang_tab.o: ../Include/intermediate.h ../Include/Types.h
gen_glslang_tab.o: ../Include/BaseTypes.h ../Include/ConstantUnion.h
gen_glslang_tab.o: ../Include/InfoSink.h ParseHelper.h Versions.h
gen_glslang_tab.o: ../Include/ShHandle.h ../Public/ShaderLang.h
gen_glslang_tab.o: ../Include/ResourceLimits.h
gen_glslang_tab.o: ../MachineIndependent/Versions.h ../Include/InfoSink.h
gen_glslang_tab.o: localintermediate.h Scan.h
Initialize.o: ../Include/intermediate.h ../Include/Common.h
Initialize.o: ../Include/PoolAlloc.h ../Include/Types.h
Initialize.o: ../Include/BaseTypes.h ../Include/ConstantUnion.h Initialize.h
Initialize.o: ../Include/ResourceLimits.h ../Include/ShHandle.h
Initialize.o: ../Public/ShaderLang.h ../MachineIndependent/Versions.h
Initialize.o: ../Include/InfoSink.h SymbolTable.h ../Include/InfoSink.h
Initialize.o: Versions.h
IntermTraverse.o: ../Include/intermediate.h ../Include/Common.h
IntermTraverse.o: ../Include/PoolAlloc.h ../Include/Types.h
IntermTraverse.o: ../Include/BaseTypes.h ../Include/ConstantUnion.h
Intermediate.o: localintermediate.h ../Include/intermediate.h
Intermediate.o: ../Include/Common.h ../Include/PoolAlloc.h ../Include/Types.h
Intermediate.o: ../Include/BaseTypes.h ../Include/ConstantUnion.h
Intermediate.o: ../Public/ShaderLang.h ../Include/ResourceLimits.h Versions.h
Intermediate.o: RemoveTree.h SymbolTable.h ../Include/InfoSink.h
ParseHelper.o: ParseHelper.h Versions.h ../Include/ShHandle.h
ParseHelper.o: ../Public/ShaderLang.h ../Include/ResourceLimits.h
ParseHelper.o: ../MachineIndependent/Versions.h ../Include/InfoSink.h
ParseHelper.o: SymbolTable.h ../Include/Common.h ../Include/PoolAlloc.h
ParseHelper.o: ../Include/intermediate.h ../Include/Types.h
ParseHelper.o: ../Include/BaseTypes.h ../Include/ConstantUnion.h
ParseHelper.o: ../Include/InfoSink.h localintermediate.h Scan.h
ParseHelper.o: ../OSDependent/Linux/osinclude.h preprocessor/PpContext.h
ParseHelper.o: ParseHelper.h
RemoveTree.o: ../Include/intermediate.h ../Include/Common.h
RemoveTree.o: ../Include/PoolAlloc.h ../Include/Types.h
RemoveTree.o: ../Include/BaseTypes.h ../Include/ConstantUnion.h RemoveTree.h
ShaderLang.o: SymbolTable.h ../Include/Common.h ../Include/PoolAlloc.h
ShaderLang.o: ../Include/intermediate.h ../Include/Types.h
ShaderLang.o: ../Include/BaseTypes.h ../Include/ConstantUnion.h
ShaderLang.o: ../Include/InfoSink.h ParseHelper.h Versions.h
ShaderLang.o: ../Include/ShHandle.h ../Public/ShaderLang.h
ShaderLang.o: ../Include/ResourceLimits.h ../MachineIndependent/Versions.h
ShaderLang.o: ../Include/InfoSink.h localintermediate.h Scan.h ScanContext.h
ShaderLang.o: ../../OGLCompilersDLL/InitializeDll.h
ShaderLang.o: ../OSDependent/Linux/osinclude.h preprocessor/PpContext.h
ShaderLang.o: ParseHelper.h reflection.h Initialize.h ../Include/revision.h
SymbolTable.o: SymbolTable.h ../Include/Common.h ../Include/PoolAlloc.h
SymbolTable.o: ../Include/intermediate.h ../Include/Types.h
SymbolTable.o: ../Include/BaseTypes.h ../Include/ConstantUnion.h
SymbolTable.o: ../Include/InfoSink.h
intermOut.o: localintermediate.h ../Include/intermediate.h
intermOut.o: ../Include/Common.h ../Include/PoolAlloc.h ../Include/Types.h
intermOut.o: ../Include/BaseTypes.h ../Include/ConstantUnion.h
intermOut.o: ../Public/ShaderLang.h ../Include/ResourceLimits.h Versions.h
intermOut.o: ../Include/InfoSink.h
parseConst.o: ParseHelper.h Versions.h ../Include/ShHandle.h
parseConst.o: ../Public/ShaderLang.h ../Include/ResourceLimits.h
parseConst.o: ../MachineIndependent/Versions.h ../Include/InfoSink.h
parseConst.o: SymbolTable.h ../Include/Common.h ../Include/PoolAlloc.h
parseConst.o: ../Include/intermediate.h ../Include/Types.h
parseConst.o: ../Include/BaseTypes.h ../Include/ConstantUnion.h
parseConst.o: ../Include/InfoSink.h localintermediate.h Scan.h
InfoSink.o: ../Include/InfoSink.h ../Include/Common.h ../Include/PoolAlloc.h
Versions.o: ParseHelper.h Versions.h ../Include/ShHandle.h
Versions.o: ../Public/ShaderLang.h ../Include/ResourceLimits.h
Versions.o: ../MachineIndependent/Versions.h ../Include/InfoSink.h
Versions.o: SymbolTable.h ../Include/Common.h ../Include/PoolAlloc.h
Versions.o: ../Include/intermediate.h ../Include/Types.h
Versions.o: ../Include/BaseTypes.h ../Include/ConstantUnion.h
Versions.o: ../Include/InfoSink.h localintermediate.h Scan.h
Constant.o: localintermediate.h ../Include/intermediate.h ../Include/Common.h
Constant.o: ../Include/PoolAlloc.h ../Include/Types.h ../Include/BaseTypes.h
Constant.o: ../Include/ConstantUnion.h ../Public/ShaderLang.h
Constant.o: ../Include/ResourceLimits.h Versions.h
Scan.o: ../Include/Types.h ../Include/Common.h ../Include/PoolAlloc.h
Scan.o: ../Include/BaseTypes.h SymbolTable.h ../Include/intermediate.h
Scan.o: ../Include/ConstantUnion.h ../Include/InfoSink.h glslang_tab.cpp.h
Scan.o: ParseHelper.h Versions.h ../Include/ShHandle.h ../Public/ShaderLang.h
Scan.o: ../Include/ResourceLimits.h ../MachineIndependent/Versions.h
Scan.o: ../Include/InfoSink.h localintermediate.h Scan.h ScanContext.h
Scan.o: preprocessor/PpContext.h ParseHelper.h preprocessor/PpTokens.h
.PHONY : clean $(LIBPREPROCESSOR) $(LIBCODEGEN) $(LIBOSDEPENDENT) $(LIBINITIALISATION)

View File

@ -1,21 +1,21 @@
INCLUDE = -I../
CC = gcc
CPPFLAGS=$(DEFINE) $(INCLUDE) -fPIC
CXXFLAGS=$(DEFINE) $(INCLUDE) -fPIC
OBJECTS = PpAtom.o PpScanner.o PpTokens.o Pp.o PpContext.o PpMemory.o PpSymbols.o
AR=ar
SRCS = PpAtom.cpp PpScanner.cpp PpTokens.cpp Pp.cpp PpContext.cpp PpMemory.cpp PpSymbols.cpp
SRCS := PpAtom.cpp PpScanner.cpp PpTokens.cpp Pp.cpp PpContext.cpp PpMemory.cpp PpSymbols.cpp
OBJECTS := $(SRCS:.cpp=.o)
DEPS := $(addprefix ., $(SRCS:.cpp=.d))
default: all
all : libPreprocessor.a
libPreprocessor.a : $(OBJECTS)
$(AR) rvu $@ $(OBJECTS)
ranlib $@
%.o : %.c
$(CC) -c $(CPPFLAGS) $<
-include $(DEPS)
%.o : %.cpp
$(CXX) $(CXXFLAGS) -MMD -MP -MF $(addprefix ., $(<:.cpp=.d)) -c -o $@ $<
#
# Cleanup
@ -23,68 +23,3 @@ libPreprocessor.a : $(OBJECTS)
.PHONY : clean
clean :
$(RM) *.o *.a
depend:
makedepend -Y -- $(SRCS)
# DO NOT DELETE
PpAtom.o: PpContext.h ../ParseHelper.h ../Versions.h ../../Include/ShHandle.h
PpAtom.o: ../../Public/ShaderLang.h ../../Include/ResourceLimits.h
PpAtom.o: ../../MachineIndependent/Versions.h ../../Include/InfoSink.h
PpAtom.o: ../../Include/Common.h ../../Include/PoolAlloc.h ../SymbolTable.h
PpAtom.o: ../../Include/intermediate.h ../../Include/Types.h
PpAtom.o: ../../Include/BaseTypes.h ../../Include/ConstantUnion.h
PpAtom.o: ../../Include/InfoSink.h ../localintermediate.h ../Scan.h
PpAtom.o: PpTokens.h
PpScanner.o: PpContext.h ../ParseHelper.h ../Versions.h
PpScanner.o: ../../Include/ShHandle.h ../../Public/ShaderLang.h
PpScanner.o: ../../Include/ResourceLimits.h
PpScanner.o: ../../MachineIndependent/Versions.h ../../Include/InfoSink.h
PpScanner.o: ../../Include/Common.h ../../Include/PoolAlloc.h
PpScanner.o: ../SymbolTable.h ../../Include/intermediate.h
PpScanner.o: ../../Include/Types.h ../../Include/BaseTypes.h
PpScanner.o: ../../Include/ConstantUnion.h ../../Include/InfoSink.h
PpScanner.o: ../localintermediate.h ../Scan.h PpTokens.h
PpTokens.o: PpContext.h ../ParseHelper.h ../Versions.h
PpTokens.o: ../../Include/ShHandle.h ../../Public/ShaderLang.h
PpTokens.o: ../../Include/ResourceLimits.h
PpTokens.o: ../../MachineIndependent/Versions.h ../../Include/InfoSink.h
PpTokens.o: ../../Include/Common.h ../../Include/PoolAlloc.h ../SymbolTable.h
PpTokens.o: ../../Include/intermediate.h ../../Include/Types.h
PpTokens.o: ../../Include/BaseTypes.h ../../Include/ConstantUnion.h
PpTokens.o: ../../Include/InfoSink.h ../localintermediate.h ../Scan.h
PpTokens.o: PpTokens.h
Pp.o: PpContext.h ../ParseHelper.h ../Versions.h ../../Include/ShHandle.h
Pp.o: ../../Public/ShaderLang.h ../../Include/ResourceLimits.h
Pp.o: ../../MachineIndependent/Versions.h ../../Include/InfoSink.h
Pp.o: ../../Include/Common.h ../../Include/PoolAlloc.h ../SymbolTable.h
Pp.o: ../../Include/intermediate.h ../../Include/Types.h
Pp.o: ../../Include/BaseTypes.h ../../Include/ConstantUnion.h
Pp.o: ../../Include/InfoSink.h ../localintermediate.h ../Scan.h PpTokens.h
PpContext.o: PpContext.h ../ParseHelper.h ../Versions.h
PpContext.o: ../../Include/ShHandle.h ../../Public/ShaderLang.h
PpContext.o: ../../Include/ResourceLimits.h
PpContext.o: ../../MachineIndependent/Versions.h ../../Include/InfoSink.h
PpContext.o: ../../Include/Common.h ../../Include/PoolAlloc.h
PpContext.o: ../SymbolTable.h ../../Include/intermediate.h
PpContext.o: ../../Include/Types.h ../../Include/BaseTypes.h
PpContext.o: ../../Include/ConstantUnion.h ../../Include/InfoSink.h
PpContext.o: ../localintermediate.h ../Scan.h
PpMemory.o: PpContext.h ../ParseHelper.h ../Versions.h
PpMemory.o: ../../Include/ShHandle.h ../../Public/ShaderLang.h
PpMemory.o: ../../Include/ResourceLimits.h
PpMemory.o: ../../MachineIndependent/Versions.h ../../Include/InfoSink.h
PpMemory.o: ../../Include/Common.h ../../Include/PoolAlloc.h ../SymbolTable.h
PpMemory.o: ../../Include/intermediate.h ../../Include/Types.h
PpMemory.o: ../../Include/BaseTypes.h ../../Include/ConstantUnion.h
PpMemory.o: ../../Include/InfoSink.h ../localintermediate.h ../Scan.h
PpSymbols.o: PpContext.h ../ParseHelper.h ../Versions.h
PpSymbols.o: ../../Include/ShHandle.h ../../Public/ShaderLang.h
PpSymbols.o: ../../Include/ResourceLimits.h
PpSymbols.o: ../../MachineIndependent/Versions.h ../../Include/InfoSink.h
PpSymbols.o: ../../Include/Common.h ../../Include/PoolAlloc.h
PpSymbols.o: ../SymbolTable.h ../../Include/intermediate.h
PpSymbols.o: ../../Include/Types.h ../../Include/BaseTypes.h
PpSymbols.o: ../../Include/ConstantUnion.h ../../Include/InfoSink.h
PpSymbols.o: ../localintermediate.h ../Scan.h