gallium: Generate a single library for auxiliaries with Make too.

This commit is contained in:
José Fonseca
2009-12-31 23:46:46 +00:00
parent f8f4757d46
commit c847a13d38
17 changed files with 181 additions and 339 deletions

View File

@@ -95,7 +95,7 @@ EGL_DRIVERS_DIRS = demo
# Gallium directories and
GALLIUM_DIRS = auxiliary drivers state_trackers
GALLIUM_AUXILIARY_DIRS = rbug draw translate cso_cache pipebuffer tgsi rtasm util indices vl
GALLIUM_AUXILIARIES = $(foreach DIR,$(GALLIUM_AUXILIARY_DIRS),$(TOP)/src/gallium/auxiliary/$(DIR)/lib$(DIR).a)
GALLIUM_AUXILIARIES = $(TOP)/src/gallium/auxiliary/libgallium.a
GALLIUM_DRIVERS_DIRS = softpipe failover svga i915 i965 trace identity
GALLIUM_DRIVERS = $(foreach DIR,$(GALLIUM_DRIVERS_DIRS),$(TOP)/src/gallium/drivers/$(DIR)/lib$(DIR).a)
GALLIUM_WINSYS_DIRS = xlib egl_xlib

View File

@@ -54,13 +54,13 @@ install:
##### RULES #####
.c.o:
$(CC) -c $(INCLUDES) $(CFLAGS) $(LIBRARY_DEFINES) $< -o $@
$(CC) -c $(INCLUDES) $(DEFINES) $(CFLAGS) $(LIBRARY_DEFINES) $< -o $@
.cpp.o:
$(CXX) -c $(INCLUDES) $(CXXFLAGS) $(LIBRARY_DEFINES) $< -o $@
$(CXX) -c $(INCLUDES) $(DEFINES) $(CXXFLAGS) $(LIBRARY_DEFINES) $< -o $@
.S.o:
$(CC) -c $(INCLUDES) $(CFLAGS) $(LIBRARY_DEFINES) $< -o $@
$(CC) -c $(INCLUDES) $(DEFINES) $(CFLAGS) $(LIBRARY_DEFINES) $< -o $@
sinclude depend

View File

@@ -1,12 +1,177 @@
# src/gallium/auxiliary/Makefile
TOP = ../../..
include $(TOP)/configs/current
SUBDIRS = $(GALLIUM_AUXILIARY_DIRS)
LIBNAME = gallium
default install clean:
@for dir in $(SUBDIRS) ; do \
if [ -d $$dir ] ; then \
(cd $$dir && $(MAKE) $@) || exit 1; \
fi \
done
C_SOURCES = \
cso_cache/cso_context.c \
cso_cache/cso_cache.c \
cso_cache/cso_hash.c \
draw/draw_context.c \
draw/draw_gs.c \
draw/draw_pipe.c \
draw/draw_pipe_aaline.c \
draw/draw_pipe_aapoint.c \
draw/draw_pipe_clip.c \
draw/draw_pipe_cull.c \
draw/draw_pipe_flatshade.c \
draw/draw_pipe_offset.c \
draw/draw_pipe_pstipple.c \
draw/draw_pipe_stipple.c \
draw/draw_pipe_twoside.c \
draw/draw_pipe_unfilled.c \
draw/draw_pipe_util.c \
draw/draw_pipe_validate.c \
draw/draw_pipe_vbuf.c \
draw/draw_pipe_wide_line.c \
draw/draw_pipe_wide_point.c \
draw/draw_pt.c \
draw/draw_pt_elts.c \
draw/draw_pt_emit.c \
draw/draw_pt_fetch.c \
draw/draw_pt_fetch_emit.c \
draw/draw_pt_fetch_shade_emit.c \
draw/draw_pt_fetch_shade_pipeline.c \
draw/draw_pt_post_vs.c \
draw/draw_pt_util.c \
draw/draw_pt_varray.c \
draw/draw_pt_vcache.c \
draw/draw_vertex.c \
draw/draw_vs.c \
draw/draw_vs_varient.c \
draw/draw_vs_aos.c \
draw/draw_vs_aos_io.c \
draw/draw_vs_aos_machine.c \
draw/draw_vs_exec.c \
draw/draw_vs_llvm.c \
draw/draw_vs_ppc.c \
draw/draw_vs_sse.c \
indices/u_indices_gen.c \
indices/u_unfilled_gen.c \
pipebuffer/pb_buffer_fenced.c \
pipebuffer/pb_buffer_malloc.c \
pipebuffer/pb_bufmgr_alt.c \
pipebuffer/pb_bufmgr_cache.c \
pipebuffer/pb_bufmgr_debug.c \
pipebuffer/pb_bufmgr_fenced.c \
pipebuffer/pb_bufmgr_mm.c \
pipebuffer/pb_bufmgr_ondemand.c \
pipebuffer/pb_bufmgr_pool.c \
pipebuffer/pb_bufmgr_slab.c \
pipebuffer/pb_validate.c \
rbug/rbug_connection.c \
rbug/rbug_core.c \
rbug/rbug_texture.c \
rbug/rbug_context.c \
rbug/rbug_shader.c \
rbug/rbug_demarshal.c \
rtasm/rtasm_cpu.c \
rtasm/rtasm_execmem.c \
rtasm/rtasm_x86sse.c \
rtasm/rtasm_ppc.c \
rtasm/rtasm_ppc_spe.c \
tgsi/tgsi_sanity.c \
tgsi/tgsi_build.c \
tgsi/tgsi_dump.c \
tgsi/tgsi_exec.c \
tgsi/tgsi_info.c \
tgsi/tgsi_iterate.c \
tgsi/tgsi_parse.c \
tgsi/tgsi_ppc.c \
tgsi/tgsi_scan.c \
tgsi/tgsi_sse2.c \
tgsi/tgsi_text.c \
tgsi/tgsi_transform.c \
tgsi/tgsi_ureg.c \
tgsi/tgsi_util.c \
translate/translate_generic.c \
translate/translate_sse.c \
translate/translate.c \
translate/translate_cache.c \
util/u_debug.c \
util/u_debug_dump.c \
util/u_debug_symbol.c \
util/u_debug_stack.c \
util/u_blit.c \
util/u_blitter.c \
util/u_cache.c \
util/u_cpu_detect.c \
util/u_dl.c \
util/u_draw_quad.c \
util/u_format.c \
util/u_format_access.c \
util/u_format_table.c \
util/u_gen_mipmap.c \
util/u_handle_table.c \
util/u_hash_table.c \
util/u_hash.c \
util/u_keymap.c \
util/u_linear.c \
util/u_network.c \
util/u_math.c \
util/u_mm.c \
util/u_rect.c \
util/u_simple_shaders.c \
util/u_snprintf.c \
util/u_stream_stdc.c \
util/u_stream_wd.c \
util/u_surface.c \
util/u_texture.c \
util/u_tile.c \
util/u_time.c \
util/u_timed_winsys.c \
util/u_upload_mgr.c \
util/u_simple_screen.c \
vl/vl_bitstream_parser.c \
vl/vl_mpeg12_mc_renderer.c \
vl/vl_compositor.c \
vl/vl_csc.c \
vl/vl_shader_build.c
GALLIVM_SOURCES = \
gallivm/gallivm.cpp \
gallivm/gallivm_cpu.cpp \
gallivm/instructions.cpp \
gallivm/loweringpass.cpp \
gallivm/tgsitollvm.cpp \
gallivm/storage.cpp \
gallivm/storagesoa.cpp \
gallivm/instructionssoa.cpp
INC_SOURCES = \
gallivm/gallivm_builtins.cpp \
gallivm/gallivmsoabuiltins.cpp
# XXX: gallivm doesn't build correctly so disable for now
#ifeq ($(MESA_LLVM),1)
#DEFINES += -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS
#CPP_SOURCES += \
# $(GALLIVM_SOURCES)
#endif
include ../Makefile.template
gallivm/gallivm_builtins.cpp: gallivm/llvm_builtins.c
clang --emit-llvm < $< |llvm-as|opt -std-compile-opts > temp1.bin
(echo "static const unsigned char llvm_builtins_data[] = {"; od -txC temp1.bin | sed -e "s/^[0-9]*//" -e s"/ \([0-9a-f][0-9a-f]\)/0x\1,/g" -e"\$$d" | sed -e"\$$s/,$$/,0x00};/") >$@
rm temp1.bin
gallivm/gallivmsoabuiltins.cpp: gallivm/soabuiltins.c
clang --emit-llvm < $< |llvm-as|opt -std-compile-opts > temp2.bin
(echo "static const unsigned char soabuiltins_data[] = {"; od -txC temp2.bin | sed -e "s/^[0-9]*//" -e s"/ \([0-9a-f][0-9a-f]\)/0x\1,/g" -e"\$$d" | sed -e"\$$s/,$$/,0x00};/") >$@
rm temp2.bin
indices/u_indices_gen.c: indices/u_indices_gen.py
python $< > $@
indices/u_unfilled_gen.c: indices/u_unfilled_gen.py
python $< > $@
util/u_format_table.c: util/u_format_table.py util/u_format_parse.py util/u_format.csv
python util/u_format_table.py util/u_format.csv > $@
util/u_format_access.c: util/u_format_access.py util/u_format_parse.py util/u_format.csv
python util/u_format_access.py util/u_format.csv > $@

View File

@@ -1,11 +0,0 @@
TOP = ../../../..
include $(TOP)/configs/current
LIBNAME = cso_cache
C_SOURCES = \
cso_context.c \
cso_cache.c \
cso_hash.c
include ../../Makefile.template

View File

@@ -1,47 +0,0 @@
TOP = ../../../..
include $(TOP)/configs/current
LIBNAME = draw
C_SOURCES = \
draw_context.c \
draw_gs.c \
draw_pipe.c \
draw_pipe_aaline.c \
draw_pipe_aapoint.c \
draw_pipe_clip.c \
draw_pipe_cull.c \
draw_pipe_flatshade.c \
draw_pipe_offset.c \
draw_pipe_pstipple.c \
draw_pipe_stipple.c \
draw_pipe_twoside.c \
draw_pipe_unfilled.c \
draw_pipe_util.c \
draw_pipe_validate.c \
draw_pipe_vbuf.c \
draw_pipe_wide_line.c \
draw_pipe_wide_point.c \
draw_pt.c \
draw_pt_elts.c \
draw_pt_emit.c \
draw_pt_fetch.c \
draw_pt_fetch_emit.c \
draw_pt_fetch_shade_emit.c \
draw_pt_fetch_shade_pipeline.c \
draw_pt_post_vs.c \
draw_pt_util.c \
draw_pt_varray.c \
draw_pt_vcache.c \
draw_vertex.c \
draw_vs.c \
draw_vs_varient.c \
draw_vs_aos.c \
draw_vs_aos_io.c \
draw_vs_aos_machine.c \
draw_vs_exec.c \
draw_vs_llvm.c \
draw_vs_ppc.c \
draw_vs_sse.c
include ../../Makefile.template

View File

@@ -1,92 +0,0 @@
# -*-makefile-*-
TOP = ../../../..
include $(TOP)/configs/current
LIBNAME = gallivm
GALLIVM_SOURCES = \
gallivm.cpp \
gallivm_cpu.cpp \
instructions.cpp \
loweringpass.cpp \
tgsitollvm.cpp \
storage.cpp \
storagesoa.cpp \
instructionssoa.cpp
INC_SOURCES = gallivm_builtins.cpp gallivmsoabuiltins.cpp
CPP_SOURCES = \
$(GALLIVM_SOURCES)
C_SOURCES =
ASM_SOURCES =
OBJECTS = $(C_SOURCES:.c=.o) \
$(CPP_SOURCES:.cpp=.o) \
$(ASM_SOURCES:.S=.o)
### Include directories
INCLUDES = \
-I. \
-I$(TOP)/src/gallium/drivers \
-I$(TOP)/src/gallium/auxiliary \
-I$(TOP)/src/gallium/include \
-I$(TOP)/src/mesa \
-I$(TOP)/include
##### RULES #####
.c.o:
$(CC) -c $(INCLUDES) $(LLVM_CFLAGS) $(CFLAGS) $(DRIVER_DEFINES) $< -o $@
.cpp.o:
$(CXX) -c $(INCLUDES) $(LLVM_CXXFLAGS) $(CXXFLAGS) $(DRIVER_DEFINES) $< -o $@
.S.o:
$(CC) -c $(INCLUDES) $(CFLAGS) $(DRIVER_DEFINES) $< -o $@
##### TARGETS #####
default:: depend symlinks $(LIBNAME)
$(LIBNAME): $(OBJECTS) Makefile
$(TOP)/bin/mklib -o $@ -static $(OBJECTS)
depend: $(C_SOURCES) $(CPP_SOURCES) $(ASM_SOURCES) $(INC_SOURCES)
rm -f depend
touch depend
$(MKDEP) $(MKDEP_OPTIONS) $(DRIVER_DEFINES) $(INCLUDES) $(C_SOURCES) $(CPP_SOURCES) \
$(ASM_SOURCES) $(INC_SOURCES) 2> /dev/null
gallivm_builtins.cpp: llvm_builtins.c
clang --emit-llvm < $< |llvm-as|opt -std-compile-opts > temp1.bin
(echo "static const unsigned char llvm_builtins_data[] = {"; od -txC temp1.bin | sed -e "s/^[0-9]*//" -e s"/ \([0-9a-f][0-9a-f]\)/0x\1,/g" -e"\$$d" | sed -e"\$$s/,$$/,0x00};/") >$@
rm temp1.bin
gallivmsoabuiltins.cpp: soabuiltins.c
clang --emit-llvm < $< |llvm-as|opt -std-compile-opts > temp2.bin
(echo "static const unsigned char soabuiltins_data[] = {"; od -txC temp2.bin | sed -e "s/^[0-9]*//" -e s"/ \([0-9a-f][0-9a-f]\)/0x\1,/g" -e"\$$d" | sed -e"\$$s/,$$/,0x00};/") >$@
rm temp2.bin
# Emacs tags
tags:
etags `find . -name \*.[ch]` `find ../include`
# Remove .o and backup files
clean:
-rm -f *.o */*.o *~ *.so *~ server/*.o
-rm -f depend depend.bak
-rm -f gallivm_builtins.cpp
-rm -f gallivmsoabuiltins.cpp
symlinks:
include depend

View File

@@ -1,16 +0,0 @@
TOP = ../../../..
include $(TOP)/configs/current
LIBNAME = indices
C_SOURCES = \
u_indices_gen.c \
u_unfilled_gen.c
include ../../Makefile.template
u_indices_gen.c: u_indices_gen.py
python $< > $@
u_unfilled_gen.c: u_unfilled_gen.py
python $< > $@

View File

@@ -1,19 +0,0 @@
TOP = ../../../..
include $(TOP)/configs/current
LIBNAME = pipebuffer
C_SOURCES = \
pb_buffer_fenced.c \
pb_buffer_malloc.c \
pb_bufmgr_alt.c \
pb_bufmgr_cache.c \
pb_bufmgr_debug.c \
pb_bufmgr_fenced.c \
pb_bufmgr_mm.c \
pb_bufmgr_ondemand.c \
pb_bufmgr_pool.c \
pb_bufmgr_slab.c \
pb_validate.c
include ../../Makefile.template

View File

@@ -1,14 +0,0 @@
TOP = ../../../..
include $(TOP)/configs/current
LIBNAME = rbug
C_SOURCES = \
rbug_connection.c \
rbug_core.c \
rbug_texture.c \
rbug_context.c \
rbug_shader.c \
rbug_demarshal.c
include ../../Makefile.template

View File

@@ -1,13 +0,0 @@
TOP = ../../../..
include $(TOP)/configs/current
LIBNAME = rtasm
C_SOURCES = \
rtasm_cpu.c \
rtasm_execmem.c \
rtasm_x86sse.c \
rtasm_ppc.c \
rtasm_ppc_spe.c
include ../../Makefile.template

View File

@@ -1,22 +0,0 @@
TOP = ../../../..
include $(TOP)/configs/current
LIBNAME = tgsi
C_SOURCES = \
tgsi_sanity.c \
tgsi_build.c \
tgsi_dump.c \
tgsi_exec.c \
tgsi_info.c \
tgsi_iterate.c \
tgsi_parse.c \
tgsi_ppc.c \
tgsi_scan.c \
tgsi_sse2.c \
tgsi_text.c \
tgsi_transform.c \
tgsi_ureg.c \
tgsi_util.c
include ../../Makefile.template

View File

@@ -1,12 +0,0 @@
TOP = ../../../..
include $(TOP)/configs/current
LIBNAME = translate
C_SOURCES = \
translate_generic.c \
translate_sse.c \
translate.c \
translate_cache.c
include ../../Makefile.template

View File

@@ -1,48 +0,0 @@
TOP = ../../../..
include $(TOP)/configs/current
LIBNAME = util
C_SOURCES = \
u_debug.c \
u_debug_dump.c \
u_debug_symbol.c \
u_debug_stack.c \
u_blit.c \
u_blitter.c \
u_cache.c \
u_cpu_detect.c \
u_dl.c \
u_draw_quad.c \
u_format.c \
u_format_access.c \
u_format_table.c \
u_gen_mipmap.c \
u_handle_table.c \
u_hash_table.c \
u_hash.c \
u_keymap.c \
u_linear.c \
u_network.c \
u_math.c \
u_mm.c \
u_rect.c \
u_simple_shaders.c \
u_snprintf.c \
u_stream_stdc.c \
u_stream_wd.c \
u_surface.c \
u_texture.c \
u_tile.c \
u_time.c \
u_timed_winsys.c \
u_upload_mgr.c \
u_simple_screen.c
include ../../Makefile.template
u_format_table.c: u_format_table.py u_format_parse.py u_format.csv
python u_format_table.py u_format.csv > $@
u_format_access.c: u_format_access.py u_format_parse.py u_format.csv
python u_format_access.py u_format.csv > $@

View File

@@ -1,13 +0,0 @@
TOP = ../../../..
include $(TOP)/configs/current
LIBNAME = vl
C_SOURCES = \
vl_bitstream_parser.c \
vl_mpeg12_mc_renderer.c \
vl_compositor.c \
vl_csc.c \
vl_shader_build.c
include ../../Makefile.template

View File

@@ -61,13 +61,7 @@ VG_MINOR = 0
VG_TINY = 0
GALLIUM_LIBS = \
$(GALLIUM)/src/gallium/auxiliary/pipebuffer/libpipebuffer.a \
$(GALLIUM)/src/gallium/auxiliary/draw/libdraw.a \
$(GALLIUM)/src/gallium/auxiliary/rtasm/librtasm.a \
$(GALLIUM)/src/gallium/auxiliary/translate/libtranslate.a \
$(GALLIUM)/src/gallium/auxiliary/cso_cache/libcso_cache.a \
$(GALLIUM)/src/gallium/auxiliary/util/libutil.a \
$(GALLIUM)/src/gallium/auxiliary/tgsi/libtgsi.a
$(GALLIUM)/src/gallium/auxiliary/libgallium.a
.SUFFIXES : .cpp

View File

@@ -19,11 +19,7 @@ CFLAGS += -g -Wall -Werror=implicit-function-declaration -fPIC \
LDFLAGS += -L${DRMDIR}/lib \
-L${DRIDIR}/lib \
-L${GALLIUMDIR}/winsys/drm/nouveau/common \
-L${GALLIUMDIR}/auxiliary/draw \
-L${GALLIUMDIR}/auxiliary/tgsi \
-L${GALLIUMDIR}/auxiliary/translate \
-L${GALLIUMDIR}/auxiliary/rtasm \
-L${GALLIUMDIR}/auxiliary/cso_cache \
-L${GALLIUMDIR}/auxiliary \
-L${GALLIUMDIR}/drivers/nv04 \
-L${GALLIUMDIR}/drivers/nv10 \
-L${GALLIUMDIR}/drivers/nv20 \
@@ -31,7 +27,7 @@ LDFLAGS += -L${DRMDIR}/lib \
-L${GALLIUMDIR}/drivers/nv40 \
-L${GALLIUMDIR}/drivers/nv50
LIBS += -lnouveaudrm -ldriclient -ldrm_nouveau -ldrm -lnv04 -lnv10 -lnv20 -lnv30 -lnv40 -lnv50 -ldraw -ltgsi -ltranslate -lrtasm -lcso_cache -lm
LIBS += -lnouveaudrm -ldriclient -ldrm_nouveau -ldrm -lnv04 -lnv10 -lnv20 -lnv30 -lnv40 -lnv50 -lgallium -lm
#############################################

View File

@@ -25,13 +25,7 @@ SOURCES = xsp_winsys.c
OBJECTS = $(SOURCES:.c=.o) $(TOP)/src/gallium/state_trackers/xorg/xvmc/*.o
LIBS = $(TOP)/src/gallium/drivers/softpipe/libsoftpipe.a \
$(TOP)/src/gallium/auxiliary/vl/libvl.a \
$(TOP)/src/gallium/auxiliary/tgsi/libtgsi.a \
$(TOP)/src/gallium/auxiliary/draw/libdraw.a \
$(TOP)/src/gallium/auxiliary/translate/libtranslate.a \
$(TOP)/src/gallium/auxiliary/cso_cache/libcso_cache.a \
$(TOP)/src/gallium/auxiliary/rtasm/librtasm.a \
$(TOP)/src/gallium/auxiliary/util/libutil.a
$(TOP)/src/gallium/auxiliary/libgallium.a
.c.o:
$(CC) -c $(INCLUDES) $(DEFINES) $(CFLAGS) $< -o $@