some of it is pretty straight mingw understands a lot of the ms options, but bear in mind that the win32api headers are somewhat different.
one hard nut to crack is if you try to compile from the original glquake sources since the asm code uses masm which weirdly enough uses unix style asm code that gets ported to microsoft format with "gas2masm" so you will have to skip the conversion and compile the asm code with the mingw assembler as.exe directly.
you will also run into some type definition problems due to the win32 api headers when compiling with directx "mingw uses different includes" so some reordering is nessesary.
difficulty depends a bit on if you're doing it from the shell "Msys"
or using an IDE like codeblocks.
and lastly some preprocessor options need to be changed to a format gcc understands.
but its pretty doable

if you want real hard then try open watcom
been trying to port the sources to it like forever and it still fails
