# src/gbm/backends/Makefile.template # # Backends should define # # GBM_BACKEND, the driver name # GBM_SOURCES, the driver sources # GBM_INCLUDES, the include pathes # GBM_CFLAGS, additional CFLAGS # GBM_LIBS, additional LIBS # # before including this template. # GBM_BACKEND_PATH = $(TOP)/$(LIB_DIR)/gbm/$(GBM_BACKEND).so GBM_OBJECTS = $(GBM_SOURCES:.c=.o) # built-in or external ifeq ($(GBM_BUILTIN), true) GBM_TARGET = lib$(GBM_BACKEND).a GBM_INSTALL = else GBM_TARGET = $(GBM_BACKEND_PATH) GBM_INSTALL = install-so endif default: depend $(GBM_TARGET) $(GBM_EXTRA_TARGETS) $(GBM_BACKEND_PATH): $(GBM_BACKEND).so @$(INSTALL) -d $(TOP)/$(LIB_DIR)/gbm $(INSTALL) $< $(TOP)/$(LIB_DIR)/gbm $(GBM_BACKEND).so: $(GBM_OBJECTS) Makefile $(TOP)/src/gbm/backends/Makefile.template @$(MKLIB) -o $(GBM_BACKEND).so -noprefix \ -linker '$(CC)' -ldflags '-L$(TOP)/$(LIB_DIR) $(LDFLAGS)' \ $(MKLIB_OPTIONS) \ $(GBM_OBJECTS) $(GBM_LIBS) -l$(GBM_LIB) lib$(GBM_BACKEND).a: $(GBM_OBJECTS) Makefile $(TOP)/src/gbm/backends/Makefile.template @$(MKLIB) -o $(GBM_BACKEND) -static $(GBM_OBJECTS) .c.o: $(CC) -c $(GBM_INCLUDES) $(CFLAGS) $(GBM_CFLAGS) $< -o $@ install-so: $(GBM_BACKEND_PATH) $(INSTALL) -d $(DESTDIR)$(GBM_BACKEND_INSTALL_DIR) $(MINSTALL) $(GBM_BACKEND_PATH) $(DESTDIR)$(GBM_BACKEND_INSTALL_DIR) install: $(GBM_INSTALL) $(GBM_EXTRA_INSTALL) clean: $(GBM_EXTRA_CLEAN) rm -f $(GBM_BACKEND).so rm -f lib$(GBM_BACKEND).a rm -f $(GBM_OBJECTS) rm -f depend depend.bak depend: $(GBM_SOURCES) $(GBM_EXTRA_SOURCES) @ echo "running $(MKDEP)" @ rm -f depend @ touch depend $(MKDEP) $(MKDEP_OPTIONS) $(GBM_INCLUDES) $(GBM_SOURCES) \ $(GBM_EXTRA_SOURCES) >/dev/null 2>/dev/null sinclude depend # DO NOT DELETE