home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / lxapi32.zip / Makes / mainmake.mak < prev    next >
Makefile  |  2002-04-26  |  5KB  |  196 lines

  1. # $Id: mainmake.mak,v 1.2 2002/04/26 23:09:34 smilcke Exp $
  2.  
  3. #===================================================================
  4. # Setup environment
  5. #===================================================================
  6. !ifndef LX_BASE
  7. !error No LX paths defined.
  8. !endif
  9.  
  10. !ifndef DEVTYPE
  11. !error DEVTYPE not defined. Must be DEV32,LIB32 or BTTV
  12. !endif
  13.  
  14. !ifndef DEBUG
  15. DEBUG = 0
  16. !endif
  17.  
  18. !ifndef KEE
  19. KEE = 0
  20. !endif
  21.  
  22. C16INC=$(%WATCOM)\H;$(%DDK)\BASE\H;$(%DDK)\BASE\SRC\INC;$(%DDK)\BASE\SRC\DEV\MME\WPDDLIB2;$(DRV_INCLUDE)
  23. C32INC=$(%WATCOM)\H;$(DRV_INCLUDE);$(%DDK)\BASE\H;$(%DDK)\BASE\SRC\DEV\MME\WPDDLIB2
  24.  
  25. COMMONDEP = $(DRV_BASE)\build.cmd $(DRV_BASE)\makefile $(DRV_MAKES)\paths.mak $(LX_MAINMAKE) $(DRV_MAKES)\common.mak makefile
  26. CNUMERRFLAG = -e20
  27.  
  28. !ifeq DEVTYPE DEV16
  29. CINC    = $(C16INC)
  30. WASMINC= $(DRV_INCLUDE);$(DRV_INC)
  31. AINC    = $(DRV_INCLUDE);$(DRV_INC)
  32. !endif
  33.  
  34. !ifeq 32BIT 1
  35. CINC    = $(C32INC)
  36. WASMINC= $(DRV_INC);$(%DDK)\BASE\inc
  37. MASMINC= -i$(DRV_INC) -i$(%DDK)\BASEinc
  38. AINC    = -Fdi:$(DRV_INC) -Fdi:$(%DDK)\BASE\inc
  39. !endif
  40.  
  41. WMAPNAME= $(DRV_BIN)\$(TARGET).WAT
  42. MAPNAME = $(DRV_BIN)\$(TARGET).MAP
  43.  
  44. .ERASE
  45.  
  46. .SUFFIXES:
  47. .SUFFIXES: .sys .obj .asm .inc .def .lrf .lnk .ref .lst .sym .map .c .cpp .h .lib
  48.  
  49. .BEFORE
  50.        @SET LIB=
  51.        @SET INCLUDE=
  52.     @SET DRV_MODEL=32
  53.        @SET PATH=$(%WATCOM)\BINP;$(%WATCOM)\BINW
  54.        @CALL $(BUILDLVL)
  55.  
  56. #########################################
  57. # Options for Watcom C/CPP compiler
  58. #########################################
  59. COBJ=-fo$(DRV_OBJ)\$^&.obj
  60.  
  61. ###### DEV16 ######
  62. !ifeq DEVTYPE DEV16
  63. CDEFINES=-DTARGET_OS216
  64. !ifeq DEBUG 1
  65. CFLAGS  =-ms -5 $(CNUMERRFLAG) -bt=os2 -hc -d2 -oi -s -j -wx -zl -zfp -zgp -zq -zu -zp1 -DDEBUG
  66. CPPFLAGS=-ms -5 $(CNUMERRFLAG) -bt=os2 -hc -d2 -oi -s -j -wx -zl -zfp -zgp -zq -zu -zp1 -DDEBUG
  67. !else
  68. CFLAGS  =-ms -5 $(CNUMERRFLAG) -bt=os2         -oi -s -j -wx -zl -zfp -zgp -zq -zu -zp1 $(CDEFINES)
  69. CPPFLAGS=-ms -5 $(CNUMERRFLAG) -bt=os2    -olinars -s -j -wx -zl -zfp -zgp -zq -zu -zp1 $(CDEFINES)
  70. !endif
  71. CC=wcc $(CFLAGS) $(CDEFINES) -i$(CINC)
  72. CPP=wpp $(CFLAGS) $(CDEFINES) -i$(CINC)
  73. !endif
  74.  
  75. ###### 32BIT ######
  76. !ifeq 32BIT 1
  77. CDEFINES=-D__KERNEL__ -DMODULE -DCONFIG_KMOD -DCONFIG_PCI -DTARGET_OS2 -DBUILD_LEVEL=$(%BUILD_LEVEL) -DCONFIG_PCI_NAMES
  78. !ifdef NOOS2LXAPI
  79. !ifneq DEVTYPE LXAPILIB
  80. CDEFINES += -DNOOS2LXAPI
  81. !endif
  82. !endif
  83. !ifeq DEBUG 1
  84. CFLAGS  = -dDEBUG -bt=os2v2 $(CNUMERRFLAG) -hc -d2 -5r -omlinear -s -w4 -ze -zdp -zl -zq -nt=CODE32 -zff -zgf -zp1
  85. CPPFLAGS= -xd
  86. !else
  87. CFLAGS  = -bt=os2v2 $(CNUMERRFLAG) -5r -omlinear -s -w4 -ze -zdp -zl -zq -nt=CODE32 -zff -zgf -zp1
  88. CPPFLAGS= -xd
  89. !endif
  90.  
  91. !ifeq KEE 1
  92. CFLAGS += -mf -DKEE
  93. !else
  94. CFLAGS += -mf -zu
  95. !endif
  96.  
  97. CC =WCC386 $(CFLAGS) $(CDEFINES) -i$(CINC)
  98. CPP=WPP386 $(CFLAGS) $(CPPFLAGS) $(CDEFINES) -i$(CINC)
  99. !endif
  100.  
  101. #########################################
  102. # Options for Watcom assembler
  103. #########################################
  104. !ifeq DEVTYPE DEV16
  105. AFLAGS=-bt=os2 -d1 -zq -3p -o
  106. AOPTS=-fo=$(DRV_OBJ)\$^&.obj
  107. ASM=wasm $(AFLAGS) -i$(AINC) $(AOPTS)
  108. !endif
  109.  
  110. !ifeq 32BIT 1
  111. !ifeq DEBUG 1
  112. AFLAGS=-Mb -Li -Sv:M510 -Ods
  113. !else
  114. AFLAGS=-Mb -Li -Sv:M510
  115. !endif
  116. !ifeq KEE 1
  117. AFLAGS+= -D:KEE
  118. !endif
  119. AOPTS=-Fdo:$(DRV_OBJ) -Fdl:$(DRV_OBJ)
  120. ASM=$(ALP) $(AFLAGS) $(AINC) $(AOPTS)
  121. !endif
  122.  
  123. #########################################
  124. # Options for Watcom linker
  125. #########################################
  126. !ifeq DEBUG 1
  127. LFLAGS= d codeview
  128. !else
  129. LFLAGS=
  130. !endif
  131.  
  132. LINK=wlink $(LFLAGS)
  133.  
  134. #########################################
  135. # Options for Watcom library manager
  136. #########################################
  137. !ifeq DEBUG 1
  138. BFLAGS= -c -b -q -n
  139. !else
  140. BFLAGS= -s -t -c -b -q -n
  141. !endif
  142. LIB=wlib $(BFLAGS)
  143.  
  144. #########################################
  145. # Options for Import library manager
  146. #########################################
  147. IFLAGS=/nologo
  148. IMPLIB=IMPLIB $(IFLAGS)
  149.  
  150. #########################################
  151. # Options for Watcom disassembler
  152. #########################################
  153. WDIS=wdis -l -s -e -p
  154.  
  155.  
  156. #########################################
  157. # Rules
  158. #########################################
  159. .obj:    $(DRV_OBJ)
  160.  
  161. .lst:    $(DRV_OBJ)
  162.  
  163. .lnk:    $(DRV_OBJ)
  164.  
  165. .lrf:  $(DRV_OBJ)
  166.  
  167. .sys:    $(DRV_BIN)
  168.  
  169. .sym:  $(DRV_BIN)
  170.  
  171. .c:    $(DRV_SRC)
  172.  
  173. .cpp:  $(DRV_SRC)
  174.  
  175. !ifdef EVERYTHING_AS_CPP
  176. .c.obj: $(COMMONDEP) .AUTODEPEND
  177.        @echo ------------------- $^&.c
  178.     $(CPP) $(COBJ) $^&.c
  179.     @$(WDIS) $(DRV_OBJ)\$^&.obj
  180. !else
  181. .c.obj: $(COMMONDEP) .AUTODEPEND
  182.        @echo ------------------- $^&.c
  183.     $(CC) $(COBJ) $^&.c
  184.     @$(WDIS) $(DRV_OBJ)\$^&.obj
  185. !endif
  186.  
  187. .cpp.obj: $(COMMONDEP) .AUTODEPEND
  188.        @echo ------------------- $^&.cpp
  189.     $(CPP) $(COBJ) $^&.cpp
  190.     @$(WDIS) $(DRV_OBJ)\$^&.obj
  191.  
  192. .asm.obj: $(COMMONDEP) .AUTODEPEND
  193.        @echo ------------------- $^&.asm
  194.     $(ASM) $^&.asm
  195.     @$(WDIS) $(DRV_OBJ)\$^&.obj
  196.