Вы используете IOCompletionPorts в соответствии с Windows? Windows через C++ имеет всестороннюю главу по этому предмету и по стечению обстоятельств, это также доступно на MSDN.
Да. Вы можете использовать функцию origin , чтобы определить, где была определена переменная.
ifneq (,$(findstring environment,$(origin LIB))) # LIB was defined by the environment else # LIB was defined some other way endif