PACKAGE ?= @package@ PROJECT_DIR ?= @project_dir@ BUILD ?= @build@ HOST ?= @host@ TARGET ?= @target@ ARCH ?= @arch@ TOOLCHAIN ?= @toolchain@ SYSROOT ?= @sysroot@ CROSS_COMPILE ?= @cross_compile@ SHELL ?= @shell@ CFLAGS_DEBUG ?= @cflags_debug@ CFLAGS_COMMON ?= @cflags_common@ CFLAGS_CMDLINE ?= @cflags_cmdline@ CFLAGS_CONFIG ?= @cflags_config@ CFLAGS_SYSROOT ?= @cflags_sysroot@ CFLAGS_PATH ?= @cflags_path@ LDFLAGS_DEBUG ?= @ldflags_debug@ LDFLAGS_COMMON ?= @ldflags_common@ LDFLAGS_CMDLINE ?= @ldflags_cmdline@ LDFLAGS_CONFIG ?= @ldflags_config@ LDFLAGS_SYSROOT ?= @ldflags_sysroot@ LDFLAGS_PATH ?= @ldflags_path@ PE_SUBSYSTEM ?= @pe_subsystem@ PE_IMAGE_BASE ?= @pe_image_base@ PE_CONFIG_DEFS ?= @pe_config_defs@ ELF_EH_FRAME ?= @elf_eh_frame@ ELF_HASH_STYLE ?= @elf_hash_style@ ELF_CONFIG_DEFS ?= @elf_config_defs@ PREFIX ?= @prefix@ BIN_DIR ?= @bindir@ LIB_DIR ?= @libdir@ INCLUDE_DIR ?= @includedir@ SYSLIB_DIR ?= @syslibdir@ MAN_DIR ?= @mandir@ DOC_DIR ?= @docdir@ LIBEXEC_DIR ?= @libexecdir@ BUILD_CC ?= @build_cc@ BUILD_OS ?= @build_os@ BUILD_OS_BITS ?= @build_os_bits@ BUILD_OS_UNDERSCORE ?= @build_os_underscore@ all: install: shared: static: include $(PROJECT_DIR)/sysinfo/toolchain/$(TOOLCHAIN).mk include $(PROJECT_DIR)/sysinfo/host/$(HOST).mk include $(PROJECT_DIR)/project/defs.mk include $(PROJECT_DIR)/project/tree.mk include $(PROJECT_DIR)/project/depends.mk include $(PROJECT_DIR)/project/headers.mk include $(PROJECT_DIR)/project/common.mk include $(PROJECT_DIR)/project/arch.mk include $(PROJECT_DIR)/project/extras.mk include $(PROJECT_DIR)/project/overrides.mk $(APP_SRCS:%.c=%.o): CFLAGS_STATIC = $(CFLAGS_APP) src/%.lo: $(PROJECT_DIR)/src/%.c $(ALL_HEADERS) $(CC) -c -o $@ $< $(CFLAGS_SHARED) src/%.o: $(PROJECT_DIR)/src/%.c $(ALL_HEADERS) $(CC) -c -o $@ $< $(CFLAGS_STATIC) $(LIB_DIR)/%$(OS_LIB_SUFFIX): $(CC) -shared -o $@ $^ $(LDFLAGS_SHARED) $(LIB_DIR)/%$(OS_ARCHIVE_EXT): rm -f $@ $(AR) -rcs $@ $^ all: shared static app install: install-libs install-headers install-app app: default-app install-libs: install-shared install-static install-implib install-headers:shared static mkdir -p $(DESTDIR)/./$(PREFIX)/./$(INCLUDE_DIR)/$(PACKAGE) cp $(API_HEADERS) $(DESTDIR)/./$(PREFIX)/./$(INCLUDE_DIR)/$(PACKAGE) install-shared: shared install-implib mkdir -p $(DESTDIR)/./$(PREFIX)/./$(LIB_DIR) cp $(SHARED_LIB) $(DESTDIR)/./$(PREFIX)/./$(LIB_DIR) install-static: static mkdir -p $(DESTDIR)/./$(PREFIX)/./$(LIB_DIR) cp $(STATIC_LIB) $(DESTDIR)/./$(PREFIX)/./$(LIB_DIR) install-app: app mkdir -p $(DESTDIR)/./$(PREFIX)/./$(BIN_DIR) cp $(APP) $(DESTDIR)/./$(PREFIX)/./$(BIN_DIR) shared: shared-lib shared-implib static: static-lib shared-lib: shared-objs $(SHARED_LIB) static-lib: static-objs $(STATIC_LIB) shared-implib: shared-lib default-app: static $(DEFAULT_APP) $(APP) shared-app: shared $(SHARED_APP) static-app: static $(STATIC_APP) shared-objs: dirs $(SHARED_OBJS) static-objs: dirs $(STATIC_OBJS) app-objs: dirs $(APP_OBJS) $(SHARED_LIB): $(SHARED_OBJS) $(STATIC_LIB): $(STATIC_OBJS) $(APP): $(DEFAULT_APP) cp $^ $@ $(DEFAULT_APP): $(STATIC_OBJS) $(APP_OBJS) $(CC) -o $@ $^ $(LDFLAGS_APP) $(SHARED_APP): $(SHARED_LIB) $(APP_OBJS) $(CC) -o $@ $(APP_OBJS) -l$(PACKAGE) $(LDFLAGS_APP) $(STATIC_APP): $(STATIC_OBJS) $(APP_OBJS) $(CC) -static -o $@ $^ -l$(PACKAGE) $(LDFLAGS_STATIC) dirs: dirs.tag tree.tag dirs.tag: mkdir -p $(BIN_DIR) mkdir -p $(LIB_DIR) touch dirs.tag distclean: clean rm -f Makefile clean: rm -f tree.tag rm -f dirs.tag rm -f $(SHARED_OBJS) rm -f $(STATIC_OBJS) rm -f $(APP_OBJS) rm -f $(SHARED_LIB) rm -f $(STATIC_LIB) rm -f $(SHARED_IMPLIB) rm -f $(APP) rm -f $(DEFAULT_APP) rm -f $(SHARED_APP) rm -f $(STATIC_APP) .display: @echo CC: $(CC) @echo CPP: $(CPP) @echo CXX: $(CXX) @echo AS: $(AS) @echo AR: $(AR) @echo LD: $(LD) @echo NM: $(NM) @echo OBJDUMP: $(OBJDUMP) @echo RANLIB: $(RANLIB) @echo SIZE: $(SIZE) @echo STRIP: $(STRIP) @echo STRINGS: $(STRINGS) @echo ADDR2LINE: $(ADDR2LINE) @echo COV: $(COV) @echo CXXFILT $(CXXFILT) @echo ELFEDIT: $(ELFEDIT) @echo OBJCOPY: $(OBJCOPY) @echo READELF: $(READELF) .PHONY: all install shared static app .display \ shared-objs shared-lib shared-implib \ static-objs static-lib \ default-app shared-app static-app \ install-shared install-static install-implib \ install-headers install-app \ clean distclean