Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

130 lines
2.9 KiB

  1. NAME = pid
  2. EXT = dll
  3. ROOT =..\..\..
  4. IS_32 = 1
  5. USEDDK32 = 1
  6. GOALS = $(PBIN)\$(NAME).$(EXT) \
  7. $(PBIN)\$(NAME).sym \
  8. $(PLIB)\$(NAME).lib \
  9. LIBS = kernel32.lib advapi32.lib user32.lib uuid.lib dinput.lib hid.lib \
  10. ..\pidguid.lib
  11. !if "$(DEBUG:_0=)" == "debug"
  12. LIBS = $(LIBS) user32.lib
  13. !endif
  14. OBJ1 = assert.obj clsfact.obj dimem.obj effdrv.obj main.obj
  15. OBJ2 = pideff.obj pidhid.obj pidinit.obj pidop.obj
  16. OBJ3 = pidparam.obj pidrd.obj pidreg.obj usgtxt.obj
  17. OBJS = $(OBJ1) $(OBJ2) $(OBJ3)
  18. # do not build COFF
  19. ASMNOCOFF = 1
  20. !if "$(DEBUG:_0=)" == "internal" || "$(DEBUG:_0=)" == "intern" #[
  21. COPT =-DDEBUG -Zi #-FAs
  22. AOPT =-DDEBUG
  23. LOPT =-debug:full -debugtype:cv
  24. ROPT =-DDEBUG
  25. !else if "$(DEBUG:_0=)" == "debug" #][
  26. COPT =-DRDEBUG -Zi #-FAs
  27. AOPT =-DRDEBUG
  28. LOPT =-debug:full -debugtype:cv
  29. ROPT =-DRDEBUG
  30. !else #][
  31. COPT =
  32. AOPT =
  33. LOPT =-debug:none -incremental:no
  34. ROPT =
  35. !endif #]
  36. DEF = $(NAME).def
  37. RES = $(NAME).res
  38. CFLAGS =-Fc -Oxw -QIfdiv- -YX $(COPT) $(INCLUDES) -DWIN95 -D_X86_
  39. LFLAGS =$(LOPT)
  40. RCFLAGS =$(ROPT) $(INCLUDES)
  41. AFLAGS =$(AOPT) -Zp1 -Fl
  42. !include $(ROOT)\proj.mk
  43. ############################################################################
  44. ### Dependencies
  45. INCLUDE=$(INCLUDE);$(BLDROOT)\wdm10\ddk\inc
  46. LIB=$(LIB);$(BLDROOT)\wdm10\ddk\lib\i386
  47. MKFILE =..\default.mk
  48. CINCS =\
  49. ..\..\dinputpr.h \
  50. ..\..\dinputp.h \
  51. ..\baggage.h \
  52. ..\debug.h \
  53. ..\pidi.h \
  54. ..\pidpr.h \
  55. ..\pidusg.h
  56. !IFNDEF ARCH
  57. ARCH=x86
  58. !ENDIF
  59. $(PLIB)\$(NAME).lib: $(NAME).lib $(OBJLIB)
  60. copy $(@F) $@ >nul
  61. lib @<<
  62. /OUT:$@
  63. /NOLOGO
  64. $@
  65. $(OBJLIB)
  66. <<
  67. !ifndef PROCESSOR_ARCHITECTURE
  68. PROCESSOR_ARCHITECTURE=x86
  69. !endif
  70. GUIDLIB=$(DEVROOT)\tools\binw\$(PROCESSOR_ARCHITECTURE)\guidlib.exe
  71. ..\pidguid.lib: ..\pidpr.h
  72. $(GUIDLIB) /OUT:..\pidguid.lib /CPP_OPT:"-DINITGUID " ..\pidpr.h
  73. assert.obj: $(MKFILE) $(CINCS) ..\$(*B).c
  74. clsfact.obj: $(MKFILE) $(CINCS) ..\$(*B).c
  75. dimem.obj: $(MKFILE) $(CINCS) ..\$(*B).c
  76. effdrv.obj: $(MKFILE) $(CINCS) ..\$(*B).c
  77. main.obj: $(MKFILE) $(CINCS) ..\$(*B).c
  78. pideff.obj: $(MKFILE) $(CINCS) ..\$(*B).c
  79. pidhid.obj: $(MKFILE) $(CINCS) ..\$(*B).c
  80. pidinit.obj: $(MKFILE) $(CINCS) ..\$(*B).c
  81. pidop.obj: $(MKFILE) $(CINCS) ..\$(*B).c
  82. pidparam.obj: $(MKFILE) $(CINCS) ..\$(*B).c
  83. pidrd.obj: $(MKFILE) $(CINCS) ..\$(*B).c
  84. pidreg.obj: $(MKFILE) $(CINCS) ..\$(*B).c
  85. usgtxt.obj: $(MKFILE) $(CINCS) ..\$(*B).c
  86. ###########################################################################
  87. $(NAME).lbw : ..\$(NAME).lbc
  88. wlib -n $(NAME).lbw @..\$(NAME).lbc
  89. $(NAME).lib $(NAME).$(EXT): \
  90. $(OBJS) $(NAME).res ..\$(NAME).def ..\default.mk ..\pidguid.lib
  91. $(LINK) @<<
  92. $(LFLAGS)
  93. -nologo
  94. -out:$(NAME).$(EXT)
  95. -map:$(NAME).map
  96. -dll
  97. -base:0x70000000
  98. -machine:i386
  99. -subsystem:windows,4.0
  100. -entry:DllEntryPoint
  101. -implib:$(NAME).lib
  102. -def:..\$(NAME).def
  103. -warn:2
  104. $(LIBS)
  105. $(NAME).res
  106. $(OBJS)
  107. <<
  108. mapsym -nologo $(NAME).map >nul