TARGET_NAME = ntdll
-TARGET_CFLAGS = -g -D__NTDLL__
+TARGET_CFLAGS = -g -D__NTDLL__ -Werror -Wall
+
+# require os code to explicitly request A/W version of structs/functions
+TARGET_CFLAGS += -D_DISABLE_TIDENTS
TARGET_ASFLAGS = -I $(PATH_TO_TOP)/include
TARGET_LFLAGS = -Wl,--file-alignment,0x1000 \
-Wl,--section-alignment,0x1000 \
- -nostartfiles
+ -nostartfiles -nostdlib
-TARGET_SDKLIBS = rosrtl.a
+TARGET_SDKLIBS = string.a rosrtl.a
TARGET_GCCLIBS = gcc
TARGET_PATH = def
-TARGET_ENTRY = _LdrInitializeThunk@16
+TARGET_ENTRY = 0x0
CSR_OBJECTS = csr/lpc.o csr/capture.o csr/probe.o csr/thread.o
DBG_OBJECTS = dbg/brkpoint.o dbg/debug.o dbg/print.o #dbg/winedbg.o
+LDR_OBJECTS = \
+ ldr/entry.o \
+ ldr/res.o \
+ ldr/startup.o \
+ ldr/utils.o
+
RTL_I386_OBJECTS = \
+ rtl/i386/alldiv.o \
+ rtl/i386/allmul.o \
+ rtl/i386/allrem.o \
+ rtl/i386/allshl.o \
+ rtl/i386/allshr.o \
+ rtl/i386/aulldiv.o \
+ rtl/i386/aullrem.o \
+ rtl/i386/aullshr.o \
+ rtl/i386/chkstk.o \
rtl/i386/exception.o \
rtl/i386/except.o \
+ rtl/i386/float.o \
rtl/i386/ftol.o
RTL_OBJECTS = rtl/critical.o rtl/error.o rtl/heap.o rtl/largeint.o \
rtl/registry.o rtl/exception.o rtl/intrlck.o rtl/resource.o \
rtl/handle.o rtl/atom.o rtl/message.o rtl/timezone.o \
rtl/propvar.o rtl/security.o rtl/dos8dot3.o rtl/compress.o \
- rtl/encode.o
+ rtl/encode.o rtl/random.o rtl/teb.o rtl/splaytree.o
STDIO_OBJECTS = stdio/sprintf.o stdio/swprintf.o
stdlib/itoa.o stdlib/itow.o stdlib/labs.o stdlib/splitp.o \
stdlib/strtol.o stdlib/strtoul.o stdlib/wcstol.o \
stdlib/wcstoul.o stdlib/wtoi.o stdlib/wtoi64.o stdlib/wtol.o \
- stdlib/mbstowcs.o stdlib/wcstombs.o stdlib/qsort.o
-
-STRING_OBJECTS = string/ctype.o string/memccpy.o string/memchr.o \
- string/memcmp.o string/memcpy.o string/memicmp.o\
- string/memmove.o string/memset.o string/strcat.o \
- string/strchr.o string/strcmp.o string/strcspn.o \
- string/strcpy.o string/stricmp.o string/strlen.o \
- string/strlwr.o string/strncat.o string/strncmp.o \
- string/strncpy.o string/strnicmp.o string/strnlen.o \
- string/strpbrk.o string/strrchr.o string/strspn.o \
+ stdlib/mbstowcs.o stdlib/wcstombs.o
+
+STRING_OBJECTS = string/ctype.o \
+ string/memicmp.o\
+ string/stricmp.o \
+ string/strlwr.o \
+ string/strnicmp.o \
+ string/strpbrk.o \
string/strstr.o string/strupr.o string/wstring.o
ARCH_OBJECTS = \
$(RTL_I386_OBJECTS)
TARGET_OBJECTS = \
- napi.o \
- ldr/entry.o \
- ldr/startup.o \
- $(ARCH_OBJECTS) \
- $(DBG_OBJECTS) \
- $(RTL_OBJECTS) \
- $(STDIO_OBJECTS) \
- $(STDLIB_OBJECTS) \
- $(STRING_OBJECTS) \
- stubs/stubs.o \
- ldr/res.o \
- ldr/utils.o \
- $(CSR_OBJECTS)
+ napi.o \
+ $(ARCH_OBJECTS) \
+ $(CSR_OBJECTS) \
+ $(DBG_OBJECTS) \
+ $(LDR_OBJECTS) \
+ $(RTL_OBJECTS) \
+ $(STDIO_OBJECTS) \
+ $(STDLIB_OBJECTS) \
+ $(STRING_OBJECTS) \
+ stubs/stubs.o
DEP_OBJECTS = $(TARGET_OBJECTS)
DEP_EXCLUDE_FILTER = napi.%