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