Subversion Repositories Kolibri OS

Rev

Rev 4501 | Rev 4866 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4819 Serge 1
CC=gcc
2
LD = ld
3
AR= ar
4372 Serge 4
 
5
LIBRARY= pixlib
6
 
7
CFLAGS = -U_Win32 -U_WIN32 -U__MINGW32__ -c -O2 -fomit-frame-pointer
8
 
9
STRIP = $(PREFIX)strip
10
 
11
LDFLAGS:=  -shared -s -nostdlib -T ../newlib/dll.lds --entry _DllStartup --image-base=0
12
PXFLAGS:= --version-script pixlib.ver --output-def $(LIBRARY).orig.def --out-implib $(LIBRARY).dll.a
13
SNAFLAGS:= --version-script sna.ver --output-def sna.def
4501 Serge 14
UXAFLAGS:= --version-script uxa.ver --output-def uxa.def
4372 Serge 15
 
16
INCLUDES= -I. -I../libdrm/intel -I../libdrm/include/drm -I./render_program -I../pixman -I../newlib/include
17
 
18
LIBPATH:= -L../../lib
19
 
20
LIBS:=  -ldll -lc.dll
21
 
22
DEFINES:= -DHAS_DEBUG_FULL=0 -DSHOW_BATCH=0 -DDEBUG_DUMP=0
23
 
24
 
25
SRC_PIXLIB = 	pixlib.c
26
 
4501 Serge 27
SRC_SNA = 				\
28
		sna/gen4_common.c	\
29
		sna/gen6_common.c	\
30
		sna/gen3_render.c	\
4372 Serge 31
		sna/gen4_render.c	\
32
		sna/gen4_vertex.c	\
33
		sna/gen5_render.c	\
34
		sna/gen6_render.c	\
35
		sna/gen7_render.c	\
36
		sna/kgem.c		\
37
		sna/sna.c		\
38
		sna/sna_cpu.c		\
39
		sna/sna_stream.c	\
40
		sna/sna_transform.c	\
41
		sna/utils.c		\
42
		sna/brw/brw_eu.c	\
43
		sna/brw/brw_eu_emit.c	\
44
		sna/brw/brw_sf.c	\
45
		sna/brw/brw_wm.c
46
 
47
SRC_UXA = 	pixlib_uxa.c		\
48
		uxa/uxa.c		\
49
		uxa/i965_3d.c		\
50
		uxa/i965_render.c	\
51
		uxa/intel_batchbuffer.c
52
 
53
OBJ_PIXLIB =  $(patsubst %.c, %.o, $(SRC_PIXLIB))
54
OBJ_UXA =   $(patsubst %.c, %.o, $(SRC_UXA))
55
OBJ_SNA =   $(patsubst %.c, %.o, $(SRC_SNA))
56
 
57
ifeq ($(findstring ebox,$(MAKECMDGOALS)),ebox)
58
CFLAGS+=-march=pentium-mmx
59
DEFINES+= -DBUILD_EBOX
60
else
61
LIBS+= -ldrm.dll
62
ifeq ($(findstring uxa,$(MAKECMDGOALS)),uxa)
63
OBJECTS= $(OBJ_UXA)
64
DEFINES+= -DBUILD_UXA
65
else
66
OBJECTS= $(OBJ_SNA)
67
DEFINES+= -DBUILD_SNA
68
LIBS+= -lgcc
69
endif
70
endif
71
 
72
# targets
73
 
4377 Serge 74
all:$(LIBRARY).dll intel-sna.drv
4501 Serge 75
uxa:$(LIBRARY).dll intel-uxa.drv
4372 Serge 76
ebox:$(LIBRARY).dll
77
 
78
 
79
$(LIBRARY).dll: $(OBJ_PIXLIB) Makefile
80
	$(LD) $(LDFLAGS) $(PXFLAGS) $(LIBPATH) -o $@ $(OBJ_PIXLIB) $(LIBS)
81
	$(STRIP) $@
82
	mv -f $@ ../../bin
83
	mv -f $(LIBRARY).dll.a ../../lib
84
 
85
intel-sna.drv: $(OBJ_SNA) Makefile
86
	$(LD) $(LDFLAGS) $(SNAFLAGS) $(LIBPATH) -o $@ $(OBJ_SNA) $(LIBS)
87
	$(STRIP) $@
88
	mv -f $@ ../../bin
89
 
90
intel-uxa.drv: $(OBJ_UXA) Makefile
4501 Serge 91
	$(LD) $(LDFLAGS) $(UXAFLAGS) $(LIBPATH) -o $@ $(OBJ_UXA) $(LIBS)
4372 Serge 92
	$(STRIP) $@
93
	mv -f $@ ../../bin
94
 
95
%.o : %.c Makefile
96
	$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
97
 
98
clean:
99
	-rm -f *.o
100
 
101
 
102