Subversion Repositories Kolibri OS

Rev

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

Rev Author Line No. Line
8361 maxcodehac 1
CC = kos32-gcc
2
LD = kos32-ld
3
SDK_DIR = ../../../sdk
4
 
5199 serge 5
NAME= ld-new
6
 
7
LIB_DIR:= $(SDK_DIR)/lib
8
 
9
CFLAGS_OPT = -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 -U_MSC_VER -O2
10
CFLAGS_OPT+= -fomit-frame-pointer -fno-ident -mno-ms-bitfields
11
CFLAGS_OPT+= -W -Wall -Wmissing-prototypes -Wno-format -Werror
6324 serge 12
ELF_CFLAGS = -DELF_LIST_OPTIONS=FALSE -DELF_SHLIB_LIST_OPTIONS=FALSE
13
ELF_CFLAGS+= -DELF_PLT_UNWIND_LIST_OPTIONS=FALSE
14
CFLAGS   = -c -save-temps $(CFLAGS_OPT) $(ELF_CFLAGS)
5199 serge 15
 
16
INCLUDES= -I. -I../bfd -I../include -I$(SDK_DIR)/sources/newlib/libc/include
17
 
18
DEFINES=  -DHAVE_CONFIG_H -DLOCALEDIR='"/home/autobuild/tools/win32/share/locale"'
19
FDEFS=    -DSCRIPTDIR='"/home/autobuild/tools/win32/mingw32/lib"' -DBINDIR='"/home/autobuild/tools/win32/bin"'
20
FDEFS+=   -DTOOLBINDIR='"/home/autobuild/tools/win32/mingw32/bin"'
21
MDEFS=    -DDEFAULT_EMULATION='"i386pe"' -DBINDIR='"/home/autobuild/tools/win32/bin"'
22
MDEFS+=   -DTOOLBINDIR='"/home/autobuild/tools/win32/mingw32/bin"' -DTARGET='"i686-pc-mingw32"'
23
MDEFS+=   -DTARGET_SYSTEM_ROOT='"/home/autobuild/tools/win32"' -DTARGET_SYSTEM_ROOT_RELOCATABLE
24
 
8361 maxcodehac 25
LIBS= -lc -lbfd -liberty -lz -lgcc -lc.dll
5199 serge 26
 
27
LIBPATH:= -L$(LIB_DIR) -L/home/autobuild/tools/win32/mingw32/lib
28
 
6324 serge 29
LDFLAGS = -static -nostdlib --stack 12582912 -T$(SDK_DIR)/sources/newlib/app.lds --image-base 0 --subsystem native
5199 serge 30
 
31
 
32
SRCS = \
6324 serge 33
	deffilep.c ei386pe.c ldbuildid.c\
5199 serge 34
	ldcref.c ldctor.c ldemul.c	\
35
	ldexp.c  ldfile.c ldgram.c	\
36
	ldlang.c ldlex-wrapper.c	\
37
	ldmain.c ldmisc.c  ldver.c	\
38
	ldwrite.c lexsup.c mri.c	\
39
	pe-dll.c
40
 
41
 
42
 
43
OBJS  =  $(patsubst %.cpp, %.o, $(patsubst %.c, %.o, $(SRCS)))
44
 
45
# targets
46
 
47
all: $(NAME)
48
 
49
$(NAME): $(OBJS) Makefile
50
	$(LD) $(LDFLAGS) $(LIBPATH) -o $@ $(OBJS) $(LIBS)
51
	kos32-objcopy $@ -O binary
52
 
53
%.o : %.c Makefile
54
	$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
55
 
56
ldfile.o : ldfile.c Makefile
57
	$(CC) $(CFLAGS) $(DEFINES) $(FDEFS) $(INCLUDES) -o $@ $<
58
 
59
ldmain.o : ldmain.c Makefile
60
	$(CC) $(CFLAGS) $(DEFINES) $(MDEFS) $(INCLUDES) -o $@ $<
8361 maxcodehac 61