4ea70d43d07aada1e09a9047ff8404e9c7f385ed
[mesa.git] / src / mesa / Makefile.old
1 # src/mesa/Makefile
2
3 TOP = ../..
4 include $(TOP)/configs/current
5
6 MESA_LIBS := libmesa.a libmesagallium.a
7 DEPENDS := depend
8
9 SRCDIR = .
10 include sources.mak
11
12 # define preprocessor flags
13 MESA_CPPFLAGS := $(API_DEFINES) $(DEFINES)
14
15 # append include dirs
16 MESA_CPPFLAGS += $(INCLUDE_DIRS)
17
18 # tidy compiler flags
19 CFLAGS := $(filter-out $(DEFINES), $(CFLAGS))
20 CXXFLAGS := $(filter-out $(DEFINES), $(CXXFLAGS))
21
22 # LLVM is needed for the state tracker
23 MESA_CFLAGS := $(LLVM_CFLAGS) $(CFLAGS)
24 MESA_CXXFLAGS := $(LLVM_CFLAGS) $(CXXFLAGS)
25
26 %.o: %.c
27 $(CC) -c -o $@ $< $(MESA_CPPFLAGS) $(MESA_CFLAGS)
28
29 %.o: %.cpp
30 $(CXX) -c -o $@ $< $(MESA_CPPFLAGS) $(MESA_CXXFLAGS)
31
32 %.o: %.S
33 $(CC) -c -o $@ $< $(MESA_CPPFLAGS) $(MESA_CFLAGS)
34
35 # Default: build dependencies, then asm_subdirs, GLSL built-in lib,
36 # then convenience libs (.a) and finally the device drivers:
37 default: $(DEPENDS) $(MESA_LIBS)
38
39 ######################################################################
40 # Helper libraries used by many drivers:
41
42 # Make archive of core mesa object files
43 libmesa.a: $(MESA_OBJECTS) $(GLSL_LIBS)
44 @ $(MKLIB) -o mesa -static $(MESA_OBJECTS) $(GLSL_LIBS)
45
46 # Make archive of subset of core mesa object files for gallium
47 libmesagallium.a: $(MESA_GALLIUM_OBJECTS) $(GLSL_LIBS)
48 @ $(MKLIB) -o mesagallium -static $(MESA_GALLIUM_OBJECTS) $(GLSL_LIBS)
49
50 ######################################################################
51 # Dependency generation
52
53 depend: $(ALL_FILES) main/git_sha1.h
54 @ echo "running $(MKDEP)"
55 @ touch depend
56 @$(MKDEP) $(MKDEP_OPTIONS) $(MESA_CPPFLAGS) \
57 $(ALL_FILES) > /dev/null 2>/dev/null
58
59 ######################################################################
60 # Installation rules
61
62 install: default $(DRICORE_INSTALL_TARGET)
63 @for driver in $(DRIVER_DIRS) ; do \
64 case "$$driver" in \
65 osmesa) $(MAKE) -f Makefile.old install-osmesa || exit 1 ;; \
66 esac ; \
67 done
68
69 install-osmesa: default
70 $(MINSTALL) $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_GLOB) \
71 $(DESTDIR)$(INSTALL_LIB_DIR)
72
73 # Emacs tags
74 tags:
75 etags `find . -name \*.[ch]` $(TOP)/include/GL/*.h
76
77 clean:
78 -rm -f */*.o
79 -rm -f */*/*.o
80 -rm -f depend depend.bak libmesa.a libmesagallium.a
81
82 -include $(DEPENDS)