d88d2ec21898ad18bc70d4cb8065c880f692872f
[reactos.git] / reactos / lib / kernel32 / makefile
1 # $Id: makefile,v 1.53 2002/09/08 10:22:41 chorns Exp $
2
3 PATH_TO_TOP = ../..
4
5 TARGET_TYPE = dynlink
6
7 TARGET_NAME = kernel32
8
9 TARGET_BASE = 0x77f00000
10
11 TARGET_CFLAGS = -DKERNEL32_BASE=$(TARGET_DLLBASE)
12
13 TARGET_LFLAGS = -nostartfiles
14
15 TARGET_SDKLIBS = ntdll.a
16
17 TARGET_GCCLIBS = gcc
18
19 TARGET_OBJECTS = $(TARGET_NAME).o
20
21 TARGET_CLEAN = except/*.o file/*.o mem/*.o misc/*.o nls/*.o \
22 process/*.o string/*.o synch/*.o thread/*.o
23
24
25 include $(PATH_TO_TOP)/rules.mak
26
27 include $(TOOLS_PATH)/helper.mk
28
29
30 SYNCH_OBJECTS = synch/critical.o synch/event.o synch/intrlck.o synch/mutex.o \
31 synch/sem.o synch/timer.o synch/wait.o
32
33 MISC_OBJECTS = misc/error.o misc/atom.o misc/handle.o misc/env.o \
34 misc/dllmain.o misc/comm.o \
35 misc/console.o misc/time.o misc/stubs.o misc/ldr.o misc/res.o \
36 misc/debug.o misc/sysinfo.o misc/profile.o
37
38 FILE_OBJECTS = file/file.o file/curdir.o file/lfile.o file/dir.o \
39 file/iocompl.o file/volume.o file/deviceio.o file/dosdev.o \
40 file/create.o file/find.o file/copy.o file/pipe.o \
41 file/move.o file/lock.o file/rw.o file/delete.o \
42 file/npipe.o file/tape.o file/mailslot.o file/backup.o \
43 file/cnotify.o
44
45 MEM_OBJECTS = mem/global.o mem/heap.o mem/isbad.o mem/local.o \
46 mem/procmem.o mem/section.o mem/virtual.o
47
48 NLS_OBJECTS = nls/codepage.o nls/cpmisc.o nls/cptable.o\
49 nls/cp37.o nls/cp437.o nls/cp500.o nls/cp737.o nls/cp775.o nls/cp850.o nls/cp852.o nls/cp855.o nls/cp857.o\
50 nls/cp860.o nls/cp861.o nls/cp863.o nls/cp865.o nls/cp866.o nls/cp869.o nls/cp875.o nls/cp1026.o\
51 nls/cp1250.o nls/cp1251.o nls/cp1252.o nls/cp1253.o nls/cp1254.o nls/cp1255.o nls/cp1256.o nls/cp1257.o\
52 nls/cp10000.o nls/cp10006.o nls/cp10007.o nls/cp10029.o nls/cp10079.o nls/cp10081.o\
53 nls/lctable.o\
54 nls/lcAFK.o nls/lcBEL.o nls/lcBGR.o nls/lcCAT.o nls/lcCSY.o nls/lcDAN.o\
55 nls/lcDEA.o nls/lcDEC.o nls/lcDEL.o nls/lcDES.o nls/lcDEU.o\
56 nls/lcELL.o\
57 nls/lcENA.o nls/lcENB.o nls/lcENC.o nls/lcENG.o nls/lcENI.o nls/lcENJ.o nls/lcENL.o nls/lcENS.o nls/lcENT.o\
58 nls/lcENU.o nls/lcENZ.o\
59 nls/lcESA.o nls/lcESB.o nls/lcESC.o nls/lcESD.o nls/lcESE.o nls/lcESF.o nls/lcESG.o nls/lcESH.o nls/lcESI.o\
60 nls/lcESL.o nls/lcESM.o nls/lcESN.o nls/lcESO.o nls/lcESP.o nls/lcESR.o nls/lcESS.o nls/lcESU.o nls/lcESV.o\
61 nls/lcESY.o nls/lcESZ.o\
62 nls/lcETI.o nls/lcEUQ.o nls/lcFIN.o nls/lcFOS.o\
63 nls/lcFRA.o nls/lcFRB.o nls/lcFRC.o nls/lcFRL.o nls/lcFRS.o\
64 nls/lcHRV.o nls/lcHUN.o nls/lcIND.o nls/lcISL.o nls/lcITA.o nls/lcITS.o nls/lcLTH.o nls/lcLVI.o nls/lcNLB.o\
65 nls/lcNLD.o nls/lcNON.o nls/lcNOR.o nls/lcPLK.o nls/lcPTB.o nls/lcPTG.o nls/lcROM.o nls/lcRUS.o nls/lcSKY.o\
66 nls/lcSLV.o nls/lcSQI.o nls/lcSRB.o nls/lcSRL.o nls/lcSVE.o nls/lcSVF.o nls/lcTRK.o nls/lcUKR.o\
67 nls/locale.o nls/mbtowc.o nls/wctomb.o nls/ole2nls.o
68
69 THREAD_OBJECTS = \
70 thread/fiber.o \
71 thread/thread.o \
72 thread/tls.o
73
74 PROCESS_OBJECTS = \
75 process/proc.o \
76 process/cmdline.o \
77 process/create.o \
78 process/session.o
79
80 STRING_OBJECTS = string/lstring.o
81
82 EXCEPT_OBJECTS = except/except.o
83
84 OBJECTS = $(MISC_OBJECTS) $(FILE_OBJECTS) $(THREAD_OBJECTS) \
85 $(PROCESS_OBJECTS) $(STRING_OBJECTS) $(MEM_OBJECTS) \
86 $(SYNCH_OBJECTS) $(EXCEPT_OBJECTS)
87
88 $(TARGET_NAME).o: $(OBJECTS)
89 $(LD) -r $(OBJECTS) -o $(TARGET_NAME).o
90
91 %/TAGS:
92 etags -o $(@D)/TAGS $(@D)/\*.c
93
94 etags: except/TAGS file/TAGS mem/TAGS misc/TAGS nls/TAGS process/TAGS string/TAGS synch/TAGS thread/TAGS
95 etags -i except/TAGS -i file/TAGS -i mem/TAGS -i misc/TAGS -i nls/TAGS -i process/TAGS -i string/TAGS -i synch/TAGS -i thread/TAGS