вторник, 16 сентября 2008 г.

Условная компиляция драйверов

Возникла задача линковать драйвер с разными сборками библиотеки в зависимости от целевой системы и типа сборки. Вопрос был решен добавлением в source файл следующего содержания:


!if !defined(DDK_TARGET_OS) || "$(DDK_TARGET_OS)"=="WinLH"

C_DEFINES=$(C_DEFINES) -DNDIS60=1

!if "$(DDKBUILDENV)" != "chk"

! if $(386)
TARGETLIBS=$(TARGETLIBS) #path
! else
TARGETLIBS=$(TARGETLIBS) #path
! endif

!else

! if $(386)
TARGETLIBS=$(TARGETLIBS) #path
! else
TARGETLIBS=$(TARGETLIBS) #path
! endif

!endif

!else

C_DEFINES=$(C_DEFINES) -DNDIS40=1

!if "$(DDKBUILDENV)" != "chk"

! if $(386)
TARGETLIBS=$(TARGETLIBS) #path
! else
TARGETLIBS=$(TARGETLIBS) #path
! endif

!else

! if $(386)
TARGETLIBS=$(TARGETLIBS) #path
! else
TARGETLIBS=$(TARGETLIBS) #path
! endif

!endif

!endif


Удобная всё же штука, make файлы )

Комментариев нет: