1 # $Id: Makefile,v 1.1 2000/10/07 13:41:50 dwelch Exp $
3 # ReactOS Operating System
12 CFLAGS
= -Iinclude
-D__NTOSKRNL__
-DDBG
-g
-Wall
-Werror
16 $(TARGETNAME
).nostrip.exe \
19 # Hardware Abstraction Layer (Hal)
20 # Defines $(OBJECTS_HAL)
22 include hal
/x86
/sources
39 # Run-Time Library (Rtl)
65 # Note: head.o MUST be the first file!!!
164 # Object Manager (Ob)
173 # Process Manager (Ps)
183 # Executive Subsystem (Ex)
200 # Installable File System Run-Time Library (FsRtl)
225 # Configuration Manager (Registry)
229 # Debugger Support (Dbg)
244 # Local Procedure Call (Lpc)
258 # Nation Language Support Library (Nls)
259 OBJECTS_NLS
= nls
/nls.o
261 # Power Management (Po)
262 OBJECTS_PO
= po
/power.o
269 # Kernel Debugger Support (Kd)
284 mkdir
$(OBJECTS_PATH
)
287 # Build subsystem intermediate objects
289 $(OBJECTS_PATH
)/hal.o
: $(OBJECTS_HAL
)
292 -o
$(OBJECTS_PATH
)/hal.o \
295 $(OBJECTS_PATH
)/io.o
: $(OBJECTS_IO
)
298 -o
$(OBJECTS_PATH
)/io.o \
301 $(OBJECTS_PATH
)/ke.o
: $(OBJECTS_KE
) $(OBJECTS_KE_I386
)
304 -o
$(OBJECTS_PATH
)/ke.o \
308 $(OBJECTS_PATH
)/rtl.o
: $(OBJECTS_RTL
)
311 -o
$(OBJECTS_PATH
)/rtl.o \
314 $(OBJECTS_PATH
)/mm.o
: $(OBJECTS_MM
) $(OBJECTS_MM_I386
)
317 -o
$(OBJECTS_PATH
)/mm.o \
321 $(OBJECTS_PATH
)/ob.o
: $(OBJECTS_OB
)
324 -o
$(OBJECTS_PATH
)/ob.o \
327 $(OBJECTS_PATH
)/ps.o
: $(OBJECTS_PS
)
330 -o
$(OBJECTS_PATH
)/ps.o \
333 $(OBJECTS_PATH
)/ex.o
: $(OBJECTS_EX
)
336 -o
$(OBJECTS_PATH
)/ex.o \
339 $(OBJECTS_PATH
)/fs.o
: $(OBJECTS_FS
)
342 -o
$(OBJECTS_PATH
)/fs.o \
345 $(OBJECTS_PATH
)/se.o
: $(OBJECTS_SE
)
348 -o
$(OBJECTS_PATH
)/se.o \
351 $(OBJECTS_PATH
)/cm.o
: $(OBJECTS_CM
)
354 -o
$(OBJECTS_PATH
)/cm.o \
357 $(OBJECTS_PATH
)/dbg.o
: $(OBJECTS_DBG
)
360 -o
$(OBJECTS_PATH
)/dbg.o \
363 $(OBJECTS_PATH
)/ldr.o
: $(OBJECTS_LDR
)
366 -o
$(OBJECTS_PATH
)/ldr.o \
369 $(OBJECTS_PATH
)/lpc.o
: $(OBJECTS_LPC
)
372 -o
$(OBJECTS_PATH
)/lpc.o \
375 $(OBJECTS_PATH
)/nls.o
: $(OBJECTS_NLS
)
378 -o
$(OBJECTS_PATH
)/nls.o \
381 $(OBJECTS_PATH
)/nt.o
: $(OBJECTS_NT
)
384 -o
$(OBJECTS_PATH
)/nt.o \
387 $(OBJECTS_PATH
)/po.o
: $(OBJECTS_PO
)
390 -o
$(OBJECTS_PATH
)/po.o \
393 $(OBJECTS_PATH
)/cc.o
: $(OBJECTS_CC
)
396 -o
$(OBJECTS_PATH
)/cc.o \
399 $(OBJECTS_PATH
)/kd.o
: $(OBJECTS_KD
)
402 -o
$(OBJECTS_PATH
)/kd.o \
405 $(TARGETNAME
).coff
: $(TARGETNAME
).rc ..
/include/reactos
/resource.h
408 # Note: ke.o MUST be the first file!!!
410 $(OBJECTS_PATH
)/ke.o \
411 $(OBJECTS_PATH
)/hal.o \
412 $(OBJECTS_PATH
)/cc.o \
413 $(OBJECTS_PATH
)/cm.o \
414 $(OBJECTS_PATH
)/dbg.o \
415 $(OBJECTS_PATH
)/ex.o \
416 $(OBJECTS_PATH
)/lpc.o \
417 $(OBJECTS_PATH
)/fs.o \
418 $(OBJECTS_PATH
)/io.o \
419 $(OBJECTS_PATH
)/kd.o \
420 $(OBJECTS_PATH
)/ldr.o \
421 $(OBJECTS_PATH
)/mm.o \
422 $(OBJECTS_PATH
)/nls.o \
423 $(OBJECTS_PATH
)/nt.o \
424 $(OBJECTS_PATH
)/ob.o \
425 $(OBJECTS_PATH
)/po.o \
426 $(OBJECTS_PATH
)/ps.o \
427 $(OBJECTS_PATH
)/rtl.o \
428 $(OBJECTS_PATH
)/se.o \
433 CLEAN_FILES
= $(OBJECTS_PATH
)\
*.o
cc\
*.o cm\
*.o dbg\
*.o ex\
*.o hal
\x86\
*.o io\
*.o \
434 ke\
*.o ldr\
*.o mm\
*.o nt\
*.o ob\
*.o ps\
*.o rtl\
*.o se\
*.o \
435 ke\i386\
*.o mm\i386\
*.o fs\
*.o po\
*.o nls\
*.o lpc\
*.o \
436 kd\
*.o
$(TARGETNAME
).o
$(TARGETNAME
).a junk.tmp base.tmp temp.exp \
437 $(TARGETNAME
).exe
$(TARGETNAME
).nostrip.exe
$(TARGETNAME
).sym
$(TARGETNAME
).coff
439 CLEAN_FILES
= $(OBJECTS_PATH
)/*.o
cc/*.o cm
/*.o dbg
/*.o ex
/*.o hal
/x86
/*.o io
/*.o \
440 ke
/*.o ldr
/*.o mm
/*.o nt
/*.o ob
/*.o ps
/*.o rtl
/*.o se
/*.o \
441 ke
/i386
/*.o mm
/i386
/*.o fs
/*.o po
/*.o nls
/*.o lpc
/*.o \
442 kd
/*.o
$(TARGETNAME
).o
$(TARGETNAME
).a junk.tmp base.tmp temp.exp \
443 $(TARGETNAME
).exe
$(TARGETNAME
).nostrip.exe
$(TARGETNAME
).sym
$(TARGETNAME
).coff
447 $(TARGETNAME
).nostrip.exe
: $(TARGETNAME
).o
$(TARGETNAME
).a
$(IE_DATA
)
449 -Wl
,-T
,ntoskrnl.lnk \
450 -nostartfiles
-nostdlib \
453 -Wl
,--image-base
,0xc0000000 \
454 -Wl
,--file-alignment
,0x1000 \
455 -Wl
,--section-alignment
,0x1000 \
456 -Wl
,--base-file
,base.tmp \
457 $(TARGETNAME
).o
-lgcc
460 --dllname
$(TARGETNAME
).exe \
461 --base-file base.tmp \
462 --output-exp temp.exp \
463 --def
$(TARGETNAME
).edf \
467 -nostartfiles
-nostdlib \
468 -Wl
,-T
,ntoskrnl.lnk \
470 -o
$(TARGETNAME
).nostrip.exe \
471 -Wl
,--image-base
,0xc0000000 \
472 -Wl
,--file-alignment
,0x1000 \
473 -Wl
,--section-alignment
,0x1000 \
475 $(TARGETNAME
).o
-lgcc
478 $(TARGETNAME
).exe
: $(TARGETNAME
).o
$(TARGETNAME
).a
482 $(CC
) -Wl
,-T
,ntoskrnl.lnk \
483 -nostartfiles
-nostdlib \
486 -Wl
,--image-base
,0xc0000000 \
487 -Wl
,--file-alignment
,0x1000 \
488 -Wl
,--section-alignment
,0x1000 \
489 -Wl
,--base-file
,base.tmp \
490 $(TARGETNAME
).o
-lgcc
493 --dllname
$(TARGETNAME
).exe \
494 --base-file base.tmp \
495 --output-exp temp.exp \
496 --def
$(TARGETNAME
).edf \
499 $(CC
) -Wl
,-T
,ntoskrnl.lnk \
500 -nostartfiles
-nostdlib \
502 -o
$(TARGETNAME
).exe \
503 -Wl
,--image-base
,0xc0000000 \
504 -Wl
,--file-alignment
,0x1000 \
505 -Wl
,--section-alignment
,0x1000 \
507 $(TARGETNAME
).o
-lgcc
509 $(NM
) --numeric-sort
$(TARGETNAME
).exe
> $(TARGETNAME
).sym
512 $(TARGETNAME
).o
: $(OBJECTS
)
518 $(TARGETNAME
).a
: $(TARGETNAME
).def
520 --dllname
$(TARGETNAME
).exe \
521 --def
$(TARGETNAME
).def \
522 --output-lib
$(TARGETNAME
).a \
525 clean: $(CLEAN_FILES
:%=%_clean
)
527 $(CLEAN_FILES
:%=%_clean
): %_clean
:
530 .PHONY
: clean $(CLEAN_FILES
:%=%_clean
)
532 install: $(FLOPPY_DIR
)/$(TARGETNAME
).exe
534 $(FLOPPY_DIR
)/$(TARGETNAME
).exe
: $(TARGETNAME
).exe
535 $(CP
) $(TARGETNAME
).exe
$(FLOPPY_DIR
)/$(TARGETNAME
).exe
539 dist: ..
/$(DIST_DIR
)/$(TARGETNAME
).exe
541 ..
/$(DIST_DIR
)/$(TARGETNAME
).exe
: $(TARGETNAME
).exe
542 $(CP
) $(TARGETNAME
).exe ..
/$(DIST_DIR
)/$(TARGETNAME
).exe
546 ex
/napi.o
: ex
/napi.c ..
/include/ntdll
/napi.h
548 ke
/main.o
: ke
/main.c ..
/include/reactos
/buildno.h
550 include $(PATH_TO_TOP
)/rules.mak