# src/mapi/es1api/Makefile TOP := ../../.. include $(TOP)/configs/current # this Makefile can build both OpenGL ES 1.1 and 2.0 ifeq ($(ES),) ES := es1 GLES_HEADER := GLES GLES_PC := glesv1_cm.pc GLES_LIB := $(GLESv1_CM_LIB) GLES_LIB_NAME := $(GLESv1_CM_LIB_NAME) GLES_LIB_GLOB := $(GLESv1_CM_LIB_GLOB) GLES_LIB_DEPS := $(GLESv1_CM_LIB_DEPS) GLES_LIB_MAJOR := 1 GLES_LIB_MINOR := 1 GLES_LIB_PATCH := 0 else GLES_HEADER := GLES2 GLES_PC := glesv2.pc GLES_LIB := $(GLESv2_LIB) GLES_LIB_NAME := $(GLESv2_LIB_NAME) GLES_LIB_GLOB := $(GLESv2_LIB_GLOB) GLES_LIB_DEPS := $(GLESv2_LIB_DEPS) GLES_LIB_MAJOR := 2 GLES_LIB_MINOR := 0 GLES_LIB_PATCH := 0 endif ESAPI = $(ES)api GLAPI := $(TOP)/src/mapi/glapi MAPI := $(TOP)/src/mapi/mapi # directory for generated sources/headers GEN := glapi include $(GLAPI)/sources.mak GLAPI_OBJECTS := $(GLAPI_SOURCES:.c=.o) GLAPI_SOURCES := $(addprefix $(GLAPI)/, $(GLAPI_SOURCES)) GLAPI_ASM_OBJECTS := $(GLAPI_ASM_SOURCES:.S=.o) GLAPI_ASM_SOURCES := $(addprefix $(GEN)/, $(GLAPI_ASM_SOURCES)) include $(MAPI)/sources.mak MAPI_UTIL_OBJECTS := $(MAPI_UTIL_SOURCES:.c=.o) MAPI_UTIL_SOURCES := $(addprefix $(MAPI)/, $(MAPI_UTIL_SOURCES)) ESAPI_OBJECTS = $(GLAPI_OBJECTS) $(GLAPI_ASM_OBJECTS) $(MAPI_UTIL_OBJECTS) INCLUDE_DIRS = \ -I$(TOP)/include \ -I$(TOP)/src/mapi/$(ESAPI) \ -I$(TOP)/src/mapi \ -I$(TOP)/src/mesa .PHONY: default default: depend $(TOP)/$(LIB_DIR)/$(GLES_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLES_LIB_NAME): $(ESAPI_OBJECTS) $(MKLIB) -o $(GLES_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \ -major $(GLES_LIB_MAJOR) \ -minor $(GLES_LIB_MINOR) \ -patch $(GLES_LIB_PATCH) \ -id $(INSTALL_LIB_DIR)/lib$(GLES_LIB).$(GLES_LIB_MAJOR).dylib \ $(MKLIB_OPTIONS) -install $(TOP)/$(LIB_DIR) \ $(ESAPI_OBJECTS) $(GLES_LIB_DEPS) # not used, but kept for completeness lib$(ESAPI).a: $(ESAPI_OBJECTS) @$(MKLIB) -o $(ESAPI) -static $(ESAPI_OBJECTS) $(GLAPI_OBJECTS): %.o: $(GLAPI)/%.c $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) -DMAPI_MODE_UTIL $< -o $@ $(GLAPI_ASM_OBJECTS): %.o: $(GEN)/%.S $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@ $(MAPI_UTIL_OBJECTS): %.o: $(MAPI)/%.c $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) -DMAPI_MODE_UTIL $< -o $@ $(GLAPI_SOURCES) $(GLAPI_ASM_SOURCES): | glapi-stamp glapi-stamp: @# generate sources/headers @$(MAKE) -C $(GLAPI)/gen-es $(ES) @touch $@ .PHONY: clean clean: -rm -f $(GLES_PC) -rm -f $(TOP)/$(LIB_DIR)/$(GLES_LIB_NAME) -rm -f lib$(ESAPI).a -rm -f $(ESAPI_OBJECTS) -rm -f depend depend.bak -rm -f glapi-stamp @# clean generated sources/headers @$(MAKE) -C $(GLAPI)/gen-es clean-$(ES) pcedit = \ -e 's,@INSTALL_DIR@,$(INSTALL_DIR),' \ -e 's,@INSTALL_LIB_DIR@,$(INSTALL_LIB_DIR),' \ -e 's,@INSTALL_INC_DIR@,$(INSTALL_INC_DIR),' \ -e 's,@VERSION@,$(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY),' \ pcedit-es1 = \ $(pcedit) \ -e 's,@GLESv1_CM_PC_REQ_PRIV@,$(GLESv1_CM_PC_REQ_PRIV),' \ -e 's,@GLESv1_CM_PC_LIB_PRIV@,$(GLESv1_CM_PC_LIB_PRIV),' \ -e 's,@GLESv1_CM_PC_CFLAGS@,$(GLESv1_CM_PC_CFLAGS),' \ -e 's,@GLESv1_CM_LIB@,$(GLESv1_CM_LIB),' pcedit-es2 = \ $(pcedit) \ -e 's,@GLESv2_PC_REQ_PRIV@,$(GLESv2_PC_REQ_PRIV),' \ -e 's,@GLESv2_PC_LIB_PRIV@,$(GLESv2_PC_LIB_PRIV),' \ -e 's,@GLESv2_PC_CFLAGS@,$(GLESv2_PC_CFLAGS),' \ -e 's,@GLESv2_LIB@,$(GLESv2_LIB),' $(GLES_PC): $(GLES_PC).in @sed $(pcedit-$(ES)) $< > $@ install-headers: $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/$(GLES_HEADER) $(INSTALL) -m 644 $(TOP)/include/$(GLES_HEADER)/*.h \ $(DESTDIR)$(INSTALL_INC_DIR)/$(GLES_HEADER) install-pc: $(GLES_PC) $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig $(INSTALL) -m 644 $(GLES_PC) $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig install: default install-headers install-pc $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR) $(MINSTALL) $(TOP)/$(LIB_DIR)/$(GLES_LIB_GLOB) \ $(DESTDIR)$(INSTALL_LIB_DIR) depend: $(GLAPI_SOURCES) $(MAPI_UTIL_SOURCES) @echo "running $(MKDEP)" @touch depend @$(MKDEP) $(MKDEP_OPTIONS) -f- $(DEFINES) $(INCLUDE_DIRS) \ -DMAPI_MODE_UTIL $(GLAPI_SOURCES) $(MAPI_UTIL_SOURCES) \ 2>/dev/null | sed -e 's,^$(GLAPI)/,,' -e 's,^$(MAPI)/,,' \ > depend