In Emscripten you can just skip the command lines for GL, GLEW, and GLUT - those are supported in the core, and they will be automatically linked in when you use them. I'm not sure about the status of GLU - it could be that it's not supported. If you just drop the -l directives, do you get further? What are the issues you are seeing? Note that Emscripten does not support desktop GL fully, it has a partial emulation path, and also GLEW and GLUT are partial implementations, so they might need some support work for unusual use cases.