Subversion Repositories eduke32

Rev

Rev 8649 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
434 Plagman 1
# EDuke32 Makefile for Microsoft NMake
4553 hendricks2 2
 
6056 hendricks2 3
root=..\..\
4553 hendricks2 4
 
6056 hendricks2 5
obj=$(root)\obj
6
source=$(root)\source
7
 
8
ENGINE=build
9
ENGINE_ROOT=$(source)\$(ENGINE)
4553 hendricks2 10
ENGINE_SRC=$(ENGINE_ROOT)\src
4543 hendricks2 11
ENGINE_INC=$(ENGINE_ROOT)\include
6056 hendricks2 12
ENGINE_OBJ=$(obj)\$(ENGINE)
4553 hendricks2 13
 
6056 hendricks2 14
DUKE3D=duke3d
15
DUKE3D_ROOT=$(source)\$(DUKE3D)
16
DUKE3D_SRC=$(DUKE3D_ROOT)\src
17
DUKE3D_OBJ=$(obj)\$(DUKE3D)
18
DUKE3D_RSRC=$(DUKE3D_ROOT)\rsrc
4553 hendricks2 19
 
6056 hendricks2 20
MACT=mact
21
MACT_ROOT=$(source)\$(MACT)
22
MACT_SRC=$(MACT_ROOT)\src
23
MACT_INC=$(MACT_ROOT)\include
24
MACT_OBJ=$(obj)\$(MACT)
5259 terminx 25
 
6056 hendricks2 26
AUDIOLIB=audiolib
27
AUDIOLIB_ROOT=$(source)\$(AUDIOLIB)
28
AUDIOLIB_OBJ=$(obj)\$(AUDIOLIB)
4553 hendricks2 29
AUDIOLIB_INC=$(AUDIOLIB_ROOT)\include
30
AUDIOLIB_SRC=$(AUDIOLIB_ROOT)\src
31
 
6671 pogokeen 32
GLAD=glad
33
GLAD_ROOT=$(source)\$(GLAD)
34
GLAD_OBJ=$(obj)\$(GLAD)
35
GLAD_INC=$(GLAD_ROOT)\include
36
GLAD_SRC=$(GLAD_ROOT)\src
37
 
6174 terminx 38
LIBXMPLITE=libxmp-lite
39
LIBXMPLITE_ROOT=$(source)\$(LIBXMPLITE)
40
LIBXMPLITE_OBJ=$(obj)\$(LIBXMPLITE)
41
LIBXMPLITE_INC=$(LIBXMPLITE_ROOT)\include
42
LIBXMPLITE_SRC=$(LIBXMPLITE_ROOT)\src
43
 
5 Plagman 44
o=obj
4553 hendricks2 45
res=res
46
asm=masm
5 Plagman 47
 
4553 hendricks2 48
 
49
 
50
 
51
CPLUSPLUS=1
52
 
4326 hendricks2 53
!ifndef WINBITS
54
WINBITS=32
55
!endif
56
 
4320 hendricks2 57
WINLIB=\$(WINBITS)
3278 hendricks2 58
 
4320 hendricks2 59
!if ($(WINBITS)==32)
60
WINMACHINE=/MACHINE:X86
61
!elseif ($(WINBITS)==64)
62
WINMACHINE=/MACHINE:X64
63
!endif
3278 hendricks2 64
 
1652 terminx 65
# the WDK allows us to link against msvcrt.dll instead of msvcrxxx.dll
3282 terminx 66
# WDKROOT="H:\WinDDK\7600.16385.1"
6056 hendricks2 67
PLATFORM=$(root)\platform\Windows
1652 terminx 68
 
4326 hendricks2 69
!ifndef RENDERTYPE
70
RENDERTYPE=WIN
71
!endif
72
!ifndef MIXERTYPE
73
MIXERTYPE=WIN
74
!endif
75
 
5 Plagman 76
!ifdef DEBUG
77
# debugging options
5386 terminx 78
flags_cl=/Od /Zi # /analyze
5 Plagman 79
flags_link=/DEBUG
80
!else
81
# release options
4326 hendricks2 82
flags_cl=/O2 /GL /MP # /I$(WDKROOT)\inc\crt /I$(WDKROOT)\inc\api
83
!if ($(WINBITS)!=64)
84
flags_cl=$(flags_cl) /arch:SSE
85
!endif
3166 helixhorne 86
flags_link=/RELEASE /LTCG # /LIBPATH:$(WDKROOT)\lib\wxp\i386 /LIBPATH:$(WDKROOT)\lib\Crt\i386
5 Plagman 87
!endif
88
 
6365 terminx 89
ENGINEOPTS=/DUSE_OPENGL /DPOLYMER /DSTARTUP_WINDOW /DUSE_LIBVPX /DHAVE_VORBIS /DHAVE_XMP
5 Plagman 90
 
3166 helixhorne 91
!ifdef CPLUSPLUS
92
ENGINEOPTS=$(ENGINEOPTS) /TP
93
!endif
94
 
4320 hendricks2 95
!if ($(WINBITS)==64)
96
NOASM=1
97
!endif
98
 
5 Plagman 99
CC=cl
100
AS=ml
5768 hendricks2 101
LINK=link /nologo /opt:ref
578 plagman 102
MT=mt
6369 terminx 103
CFLAGS= /MT /J /nologo /std:c++latest $(flags_cl)  \
8577 hendricks2 104
	/I$(DUKE3D_SRC) /I$(ENGINE_INC)\msvc /I$(ENGINE_INC) /I$(MACT_INC) /I$(AUDIOLIB_INC) /I$(GLAD_INC) /I$(LIBXMPLITE_INC) \
5768 hendricks2 105
	/W2 $(ENGINEOPTS) \
6056 hendricks2 106
	/I$(PLATFORM)\include /DRENDERTYPE$(RENDERTYPE)=1 /DMIXERTYPE$(MIXERTYPE)=1 /DSDL_USEFOLDER /DSDL_TARGET=2
4553 hendricks2 107
 
6303 hendricks2 108
LIBXMPLITE_CFLAGS=/I$(LIBXMPLITE_INC) /I$(LIBXMPLITE_INC)/libxmp-lite /I$(LIBXMPLITE_SRC) -DHAVE_ROUND -DLIBXMP_CORE_PLAYER -DBUILDING_STATIC
5768 hendricks2 109
AUDIOLIB_CFLAGS=/I$(AUDIOLIB_INC) /I$(AUDIOLIB_SRC)
4553 hendricks2 110
 
7965 hendricks2 111
LIBS=user32.lib gdi32.lib shell32.lib winmm.lib ws2_32.lib comctl32.lib shlwapi.lib oleaut32.lib ole32.lib imm32.lib SetupAPI.Lib version.lib \
6365 terminx 112
     libogg.a libvorbis.a libvorbisfile.a libxmp-lite.a libvpx.a dxguid.lib dsound.lib advapi32.lib libcompat-to-msvc.a
640 terminx 113
 
4326 hendricks2 114
!if ("$(RENDERTYPE)"=="SDL")
5797 terminx 115
LIBS=libSDL2main.a libSDL2.a $(LIBS)
4326 hendricks2 116
!endif
117
 
1652 terminx 118
LIBS=/NODEFAULTLIB:glu32.lib /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:msvcrtd.lib /NODEFAULTLIB:libcmt.lib \
119
    /NODEFAULTLIB:libcmtd.lib $(LIBS)
640 terminx 120
 
4320 hendricks2 121
# NOASM     When defined, uses C instead of assembly code
122
!ifdef NOASM
123
CFLAGS=$(CFLAGS) /DNOASM
124
!endif
125
 
1122 terminx 126
ASFLAGS=/nologo /coff /c
5 Plagman 127
EXESUFFIX=.exe
1195 terminx 128
!ifdef DEBUG
1652 terminx 129
CFLAGS=$(CFLAGS) /DDEBUGGINGAIDS /D "_CRT_SECURE_NO_DEPRECATE"
130
LIBS=$(LIBS)  msvcrtd.lib
1399 terminx 131
!else
1652 terminx 132
# comment msvcrt_winxp.obj if not using the WDK
3166 helixhorne 133
LIBS=$(LIBS)  msvcrt.lib # msvcrt_winxp.obj
1195 terminx 134
!endif
5 Plagman 135
 
4553 hendricks2 136
ENGINE_OBJS= \
137
!ifdef NOASM
138
        $(ENGINE_OBJ)\a-c.$o \
139
!else
140
        $(ENGINE_OBJ)\a.$o \
141
!endif
6056 hendricks2 142
	$(ENGINE_OBJ)\animvpx.$o \
4553 hendricks2 143
	$(ENGINE_OBJ)\baselayer.$o \
144
	$(ENGINE_OBJ)\cache1d.$o \
7140 hendricks2 145
	$(ENGINE_OBJ)\klzw.$o \
4559 hendricks2 146
	$(ENGINE_OBJ)\common.$o \
4553 hendricks2 147
	$(ENGINE_OBJ)\compat.$o \
148
	$(ENGINE_OBJ)\crc32.$o \
149
	$(ENGINE_OBJ)\defs.$o \
5386 terminx 150
	$(ENGINE_OBJ)\colmatch.$o \
4553 hendricks2 151
	$(ENGINE_OBJ)\engine.$o \
5792 terminx 152
	$(ENGINE_OBJ)\clip.$o \
5790 terminx 153
	$(ENGINE_OBJ)\2d.$o \
5801 terminx 154
        $(ENGINE_OBJ)\tiles.$o \
5788 terminx 155
	$(ENGINE_OBJ)\hash.$o \
5789 terminx 156
	$(ENGINE_OBJ)\palette.$o \
4639 terminx 157
        $(ENGINE_OBJ)\glbuild.$o \
6922 pogokeen 158
	$(ENGINE_OBJ)\glsurface.$o \
4639 terminx 159
        $(ENGINE_OBJ)\texcache.$o \
160
        $(ENGINE_OBJ)\kplib.$o \
161
        $(ENGINE_OBJ)\hightile.$o \
4553 hendricks2 162
	$(ENGINE_OBJ)\polymost.$o \
4639 terminx 163
        $(ENGINE_OBJ)\polymer.$o \
164
        $(ENGINE_OBJ)\mdsprite.$o \
165
        $(ENGINE_OBJ)\voxmodel.$o \
6922 pogokeen 166
	$(ENGINE_OBJ)\tilepacker.$o \
4553 hendricks2 167
	$(ENGINE_OBJ)\dxtfilter.$o \
168
	$(ENGINE_OBJ)\textfont.$o \
169
	$(ENGINE_OBJ)\smalltextfont.$o \
170
	$(ENGINE_OBJ)\lz4.$o \
4883 hendricks2 171
	$(ENGINE_OBJ)\md4.$o \
8663 ny00123 172
	$(ENGINE_OBJ)\mmulti.$o \
4553 hendricks2 173
	$(ENGINE_OBJ)\osd.$o \
174
	$(ENGINE_OBJ)\pragmas.$o \
6056 hendricks2 175
	$(ENGINE_OBJ)\rev.$o \
4553 hendricks2 176
	$(ENGINE_OBJ)\scriptfile.$o \
177
	$(ENGINE_OBJ)\mutex.$o \
178
	$(ENGINE_OBJ)\winbits.$o \
5791 terminx 179
	$(ENGINE_OBJ)\xxhash.$o \
5792 terminx 180
	$(ENGINE_OBJ)\screenshot.$o \
6939 pogokeen 181
	$(ENGINE_OBJ)\softsurface.$o \
6365 terminx 182
	$(ENGINE_OBJ)\mhk.$o \
183
	$(ENGINE_OBJ)\pngwrite.$o \
6724 terminx 184
	$(ENGINE_OBJ)\miniz.$o \
6849 terminx 185
	$(ENGINE_OBJ)\miniz_tinfl.$o \
186
	$(ENGINE_OBJ)\miniz_tdef.$o \
6724 terminx 187
	$(ENGINE_OBJ)\fix16.$o \
8091 hendricks2 188
	$(ENGINE_OBJ)\fix16_str.$o \
189
	$(ENGINE_OBJ)\sjson.$o \
8577 hendricks2 190
	$(ENGINE_OBJ)\enet.$o \
4553 hendricks2 191
 
6400 hendricks2 192
 
4553 hendricks2 193
ENGINE_EDITOR_OBJS=$(ENGINE_OBJ)\build.$o \
194
	$(ENGINE_OBJ)\startwin.editor.$o \
195
	$(ENGINE_OBJ)\config.$o
196
 
6671 pogokeen 197
GLAD_OBJS=$(GLAD_OBJ)\glad.$o \
198
!if ("$(RENDERTYPE)"=="WIN")
199
          $(GLAD_OBJ)\glad_wgl.$o
200
!endif
201
 
6174 terminx 202
LIBXMPLITE_OBJS=$(LIBXMPLITE_OBJ)\control.$o \
203
    $(LIBXMPLITE_OBJ)\dataio.$o \
204
    $(LIBXMPLITE_OBJ)\effects.$o \
205
    $(LIBXMPLITE_OBJ)\filter.$o \
206
    $(LIBXMPLITE_OBJ)\format.$o \
207
    $(LIBXMPLITE_OBJ)\hio.$o \
208
    $(LIBXMPLITE_OBJ)\lfo.$o \
209
    $(LIBXMPLITE_OBJ)\load.$o \
210
    $(LIBXMPLITE_OBJ)\load_helpers.$o \
211
    $(LIBXMPLITE_OBJ)\memio.$o \
212
    $(LIBXMPLITE_OBJ)\mixer.$o \
213
    $(LIBXMPLITE_OBJ)\mix_all.$o \
214
    $(LIBXMPLITE_OBJ)\period.$o \
215
    $(LIBXMPLITE_OBJ)\player.$o \
216
    $(LIBXMPLITE_OBJ)\read_event.$o \
217
    $(LIBXMPLITE_OBJ)\scan.$o \
218
    $(LIBXMPLITE_OBJ)\smix.$o \
219
    $(LIBXMPLITE_OBJ)\virtual.$o \
220
    $(LIBXMPLITE_OBJ)\common.$o \
221
    $(LIBXMPLITE_OBJ)\itsex.$o \
222
    $(LIBXMPLITE_OBJ)\it_load.$o \
223
    $(LIBXMPLITE_OBJ)\mod_load.$o \
6475 hendricks2 224
    $(LIBXMPLITE_OBJ)\mtm_load.$o \
6174 terminx 225
    $(LIBXMPLITE_OBJ)\s3m_load.$o \
226
    $(LIBXMPLITE_OBJ)\sample.$o \
6475 hendricks2 227
    $(LIBXMPLITE_OBJ)\xm_load.$o \
6174 terminx 228
 
4553 hendricks2 229
AUDIOLIB_OBJS=$(AUDIOLIB_OBJ)\drivers.$o \
230
	$(AUDIOLIB_OBJ)\fx_man.$o \
231
	$(AUDIOLIB_OBJ)\multivoc.$o \
232
	$(AUDIOLIB_OBJ)\mix.$o \
233
	$(AUDIOLIB_OBJ)\mixst.$o \
234
	$(AUDIOLIB_OBJ)\pitch.$o \
235
	$(AUDIOLIB_OBJ)\formats.$o \
236
	$(AUDIOLIB_OBJ)\vorbis.$o \
237
	$(AUDIOLIB_OBJ)\flac.$o \
238
	$(AUDIOLIB_OBJ)\xa.$o \
5931 terminx 239
	$(AUDIOLIB_OBJ)\xmp.$o \
4553 hendricks2 240
	$(AUDIOLIB_OBJ)\driver_nosound.$o
241
 
7359 hendricks2 242
MACT_OBJS= \
6056 hendricks2 243
	$(MACT_OBJ)\control.$o \
244
	$(MACT_OBJ)\keyboard.$o \
245
	$(MACT_OBJ)\joystick.$o \
246
	$(MACT_OBJ)\scriplib.$o \
247
	$(MACT_OBJ)\animlib.$o
5768 hendricks2 248
 
4553 hendricks2 249
DUKE3D_OBJS=$(DUKE3D_OBJ)\game.$o \
4543 hendricks2 250
	$(DUKE3D_OBJ)\actors.$o \
251
	$(DUKE3D_OBJ)\anim.$o \
5611 terminx 252
        $(DUKE3D_OBJ)\cheats.$o \
5613 terminx 253
        $(DUKE3D_OBJ)\sbar.$o \
8649 hendricks2 254
        $(DUKE3D_OBJ)\text.$o \
5618 terminx 255
        $(DUKE3D_OBJ)\screens.$o \
256
        $(DUKE3D_OBJ)\cmdline.$o \
4543 hendricks2 257
	$(DUKE3D_OBJ)\common.$o \
258
	$(DUKE3D_OBJ)\demo.$o \
259
	$(DUKE3D_OBJ)\gamedef.$o \
260
	$(DUKE3D_OBJ)\gameexec.$o \
261
	$(DUKE3D_OBJ)\gamevars.$o \
262
	$(DUKE3D_OBJ)\global.$o \
263
	$(DUKE3D_OBJ)\input.$o \
264
	$(DUKE3D_OBJ)\menus.$o \
265
	$(DUKE3D_OBJ)\namesdyn.$o \
7443 hendricks2 266
    $(DUKE3D_OBJ)\network.$o \
4543 hendricks2 267
	$(DUKE3D_OBJ)\player.$o \
268
	$(DUKE3D_OBJ)\premap.$o \
269
	$(DUKE3D_OBJ)\savegame.$o \
270
	$(DUKE3D_OBJ)\sector.$o \
271
	$(DUKE3D_OBJ)\rts.$o \
272
	$(DUKE3D_OBJ)\config.$o \
273
	$(DUKE3D_OBJ)\osdfuncs.$o \
274
	$(DUKE3D_OBJ)\osdcmds.$o \
275
	$(DUKE3D_OBJ)\grpscan.$o \
276
	$(DUKE3D_OBJ)\winbits.$o \
4553 hendricks2 277
	$(DUKE3D_OBJ)\gameres.$(res) \
4543 hendricks2 278
	$(DUKE3D_OBJ)\startwin.game.$o \
279
	$(DUKE3D_OBJ)\sounds.$o \
280
	$(DUKE3D_OBJ)\soundsdyn.$o \
602 terminx 281
!ifdef DEBUG
4543 hendricks2 282
	$(DUKE3D_OBJ)\mdump.$o
602 terminx 283
!endif
5 Plagman 284
 
4553 hendricks2 285
DUKE3D_EDITOR_OBJS=$(DUKE3D_OBJ)\astub.$o \
4543 hendricks2 286
	$(DUKE3D_OBJ)\common.$o \
4566 hendricks2 287
	$(DUKE3D_OBJ)\grpscan.$o \
4561 hendricks2 288
	$(DUKE3D_OBJ)\m32common.$o \
4543 hendricks2 289
	$(DUKE3D_OBJ)\m32def.$o \
290
	$(DUKE3D_OBJ)\m32vars.$o \
291
	$(DUKE3D_OBJ)\m32exec.$o \
292
	$(DUKE3D_OBJ)\sounds_mapster32.$o \
4553 hendricks2 293
	$(DUKE3D_OBJ)\buildres.$(res) \
602 terminx 294
!ifdef DEBUG
4543 hendricks2 295
	$(DUKE3D_OBJ)\mdump.$o
602 terminx 296
!endif
5 Plagman 297
 
4553 hendricks2 298
!if ("$(RENDERTYPE)"=="WIN")
299
ENGINE_OBJS=$(ENGINE_OBJS) $(ENGINE_OBJ)\winlayer.$o $(ENGINE_OBJ)\rawinput.$o
300
!endif
4326 hendricks2 301
!if ("$(RENDERTYPE)"=="SDL")
4553 hendricks2 302
ENGINE_OBJS=$(ENGINE_OBJS) $(ENGINE_OBJ)\sdlayer.$o
5253 hendricks2 303
DUKE3D_OBJS=$(DUKE3D_OBJS) $(DUKE3D_OBJ)\game_icon.$o
304
DUKE3D_EDITOR_OBJS=$(DUKE3D_EDITOR_OBJS) $(DUKE3D_OBJ)\build_icon.$o
4326 hendricks2 305
!endif
306
 
307
!if ("$(MIXERTYPE)"=="WIN")
4553 hendricks2 308
DUKE3D_OBJS=$(DUKE3D_OBJS) $(DUKE3D_OBJ)\midi.$o $(DUKE3D_OBJ)\music.$o $(DUKE3D_OBJ)\mpu401.$o
309
AUDIOLIB_OBJS=$(AUDIOLIB_OBJS) $(AUDIOLIB_OBJ)\driver_directsound.$o
4326 hendricks2 310
!endif
311
!if ("$(MIXERTYPE)"=="SDL")
4553 hendricks2 312
DUKE3D_OBJS=$(DUKE3D_OBJS) $(DUKE3D_OBJ)\sdlmusic.$o
313
AUDIOLIB_OBJS=$(AUDIOLIB_OBJS) $(AUDIOLIB_OBJ)/driver_sdl.$o
4326 hendricks2 314
!endif
315
 
4553 hendricks2 316
DUKE3D_OBJS=$(DUKE3D_OBJS) $(MUSICOBJ)
317
DUKE3D_EDITOR_OBJS=$(DUKE3D_EDITOR_OBJS) $(MUSICOBJ)
4326 hendricks2 318
 
319
 
4553 hendricks2 320
CHECKDIR_ENGINE=@if not exist "$(ENGINE_OBJ)" mkdir "$(ENGINE_OBJ)"
321
CHECKDIR_DUKE3D=@if not exist "$(DUKE3D_OBJ)" mkdir "$(DUKE3D_OBJ)"
6671 pogokeen 322
CHECKDIR_GLAD=@if not exist "$(GLAD_OBJ)" mkdir "$(GLAD_OBJ)"
6056 hendricks2 323
CHECKDIR_MACT=@if not exist "$(MACT_OBJ)" mkdir "$(MACT_OBJ)"
4553 hendricks2 324
CHECKDIR_AUDIOLIB=@if not exist "$(AUDIOLIB_OBJ)" mkdir "$(AUDIOLIB_OBJ)"
6174 terminx 325
CHECKDIR_LIBXMPLITE=@if not exist "$(LIBXMPLITE_OBJ)" mkdir "$(LIBXMPLITE_OBJ)"
4553 hendricks2 326
 
6058 hendricks2 327
EDUKE32_TARGET=$(root)\eduke32$(EXESUFFIX)
328
MAPSTER32_TARGET=$(root)\mapster32$(EXESUFFIX)
329
 
5 Plagman 330
# RULES
331
.SUFFIXES: .masm
332
 
4553 hendricks2 333
{$(ENGINE_SRC)}.masm{$(ENGINE_OBJ)}.$o:
334
	$(CHECKDIR_ENGINE)
335
	$(AS) /c $(ASFLAGS) /Fo$@ $<
336
 
6056 hendricks2 337
{$(ENGINE_SRC)}.cpp{$(ENGINE_OBJ)}.$o:
4553 hendricks2 338
	$(CHECKDIR_ENGINE)
339
	$(CC) /c $(CFLAGS) /Fo$@ $<
340
 
341
{$(ENGINE_SRC)}.c{$(ENGINE_OBJ)}.$o:
342
	$(CHECKDIR_ENGINE)
343
	$(CC) /c $(CFLAGS) /Fo$@ $<
344
 
6671 pogokeen 345
{$(GLAD_SRC)}.c{$(GLAD_OBJ)}.$o:
346
	$(CHECKDIR_GLAD)
347
	$(CC) /c $(CFLAGS) /Fo$@ $<
348
 
6174 terminx 349
{$(LIBXMPLITE_SRC)}.c{$(LIBXMPLITE_OBJ)}.$o:
350
	$(CHECKDIR_LIBXMPLITE)
351
	$(CC) /c $(CFLAGS) $(LIBXMPLITE_CFLAGS) /Fo$@ $<
352
 
6056 hendricks2 353
{$(AUDIOLIB_SRC)}.cpp{$(AUDIOLIB_OBJ)}.$o:
4553 hendricks2 354
	$(CHECKDIR_AUDIOLIB)
355
	$(CC) /c $(CFLAGS) $(AUDIOLIB_CFLAGS) /Fo$@ $<
356
 
6056 hendricks2 357
{$(MACT_SRC)\}.cpp{$(MACT_OBJ)\}.$o:
358
	$(CHECKDIR_MACT)
5 Plagman 359
	$(CC) /c $(CFLAGS) /Fo$@ $<
360
 
4543 hendricks2 361
{$(DUKE3D_RSRC)\}.c{$(DUKE3D_OBJ)\}.$o:
4553 hendricks2 362
	$(CHECKDIR_DUKE3D)
4326 hendricks2 363
	$(CC) /c $(CFLAGS) /Fo$@ $<
364
 
4543 hendricks2 365
{$(DUKE3D_SRC)\}.cpp{$(DUKE3D_OBJ)\}.$o:
4553 hendricks2 366
	$(CHECKDIR_DUKE3D)
5 Plagman 367
	$(CC) /c $(CFLAGS) /Fo$@ $<
368
 
6056 hendricks2 369
{$(DUKE3D_RSRC)\}.rc{$(DUKE3D_OBJ)\}.$(res):
4553 hendricks2 370
	$(CHECKDIR_DUKE3D)
4558 hendricks2 371
	$(RC) /i$(ENGINE_INC)\ /i$(DUKE3D_SRC)\ /i$(DUKE3D_RSRC)\ /DPOLYMER /fo$@ /r $<
5 Plagman 372
 
373
 
374
# TARGETS
375
 
6058 hendricks2 376
 
377
all: $(EDUKE32_TARGET) $(MAPSTER32_TARGET)
378
 
8577 hendricks2 379
$(EDUKE32_TARGET): $(DUKE3D_OBJS) $(ENGINE_OBJS) $(AUDIOLIB_OBJS) $(MACT_OBJS) $(GLAD_OBJS) $(LIBXMPLITE_OBJS)
6056 hendricks2 380
	$(LINK) /OUT:$@ /SUBSYSTEM:WINDOWS $(WINMACHINE) /LIBPATH:$(PLATFORM)\lib$(WINLIB) $(flags_link) /MAP $** $(LIBS)
5651 terminx 381
	$(MT) -manifest $(DUKE3D_RSRC)\manifest.game.xml -hashupdate -outputresource:$@ -out:$@.manifest
5768 hendricks2 382
 
6671 pogokeen 383
$(MAPSTER32_TARGET): $(DUKE3D_EDITOR_OBJS) $(ENGINE_OBJS) $(ENGINE_EDITOR_OBJS) $(AUDIOLIB_OBJS) $(GLAD_OBJS)
6056 hendricks2 384
	$(LINK) /OUT:$@ /SUBSYSTEM:WINDOWS $(WINMACHINE) /LIBPATH:$(PLATFORM)\lib$(WINLIB) $(flags_link) /MAP $** $(LIBS)
5651 terminx 385
	$(MT) -manifest $(DUKE3D_RSRC)\manifest.build.xml -hashupdate -outputresource:$@ -out:$@.manifest
5768 hendricks2 386
 
6056 hendricks2 387
!include $(DUKE3D_ROOT)\Dependencies.mak
388
!include $(ENGINE_ROOT)\Dependencies.mak
5 Plagman 389
 
4553 hendricks2 390
# PHONIES
5 Plagman 391
 
392
clean:
6174 terminx 393
	-del /Q $(EDUKE32_TARGET) $(MAPSTER32_TARGET) $(DUKE3D_OBJS) $(DUKE3D_EDITOR_OBJS) $(ENGINE_OBJS) $(ENGINE_EDITOR_OBJS) *.pdb $(root)\*.pdb $(root)\*.map $(root)\*.manifest
8577 hendricks2 394
    -del /Q $(LIBXMPLITE_OBJS) $(MACT_OBJS) $(AUDIOLIB_OBJS) $(GLAD_OBJS)
5 Plagman 395
veryclean: clean