summaryrefslogtreecommitdiffstats
path: root/src/mesa/Makefile.old
blob: 4ea70d43d07aada1e09a9047ff8404e9c7f385ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# src/mesa/Makefile

TOP = ../..
include $(TOP)/configs/current

MESA_LIBS := libmesa.a libmesagallium.a
DEPENDS := depend

SRCDIR = .
include sources.mak

# define preprocessor flags
MESA_CPPFLAGS := $(API_DEFINES) $(DEFINES)

# append include dirs
MESA_CPPFLAGS += $(INCLUDE_DIRS)

# tidy compiler flags
CFLAGS := $(filter-out $(DEFINES), $(CFLAGS))
CXXFLAGS := $(filter-out $(DEFINES), $(CXXFLAGS))

# LLVM is needed for the state tracker
MESA_CFLAGS := $(LLVM_CFLAGS) $(CFLAGS)
MESA_CXXFLAGS := $(LLVM_CFLAGS) $(CXXFLAGS)

%.o: %.c
	$(CC) -c -o $@ $< $(MESA_CPPFLAGS) $(MESA_CFLAGS)

%.o: %.cpp
	$(CXX) -c -o $@ $< $(MESA_CPPFLAGS) $(MESA_CXXFLAGS)

%.o: %.S
	$(CC) -c -o $@ $< $(MESA_CPPFLAGS) $(MESA_CFLAGS)

# Default: build dependencies, then asm_subdirs, GLSL built-in lib,
# then convenience libs (.a) and finally the device drivers:
default: $(DEPENDS) $(MESA_LIBS)

######################################################################
# Helper libraries used by many drivers:

# Make archive of core mesa object files
libmesa.a: $(MESA_OBJECTS) $(GLSL_LIBS)
	@ $(MKLIB) -o mesa -static $(MESA_OBJECTS) $(GLSL_LIBS)

# Make archive of subset of core mesa object files for gallium
libmesagallium.a: $(MESA_GALLIUM_OBJECTS) $(GLSL_LIBS)
	@ $(MKLIB) -o mesagallium -static $(MESA_GALLIUM_OBJECTS) $(GLSL_LIBS)

######################################################################
# Dependency generation

depend: $(ALL_FILES) main/git_sha1.h
	@ echo "running $(MKDEP)"
	@ touch depend
	@$(MKDEP) $(MKDEP_OPTIONS) $(MESA_CPPFLAGS) \
		$(ALL_FILES) > /dev/null 2>/dev/null

######################################################################
# Installation rules

install: default $(DRICORE_INSTALL_TARGET)
	@for driver in $(DRIVER_DIRS) ; do \
	  case "$$driver" in \
	    osmesa) $(MAKE) -f Makefile.old install-osmesa || exit 1 ;; \
	  esac ; \
	done

install-osmesa: default
	$(MINSTALL) $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_GLOB) \
		$(DESTDIR)$(INSTALL_LIB_DIR)

# Emacs tags
tags:
	etags `find . -name \*.[ch]` $(TOP)/include/GL/*.h

clean:
	-rm -f */*.o
	-rm -f */*/*.o
	-rm -f depend depend.bak libmesa.a libmesagallium.a

-include $(DEPENDS)