From 474ea8f4653a548fb05b0e35bac08b2a0a8567c8 Mon Sep 17 00:00:00 2001 From: midipix Date: Jan 01 2019 02:10:05 +0000 Subject: build system: sofort: refactored, rearranged using distinct sub-folders. --- diff --git a/Makefile.in b/Makefile.in index 5b8006a..77882ae 100644 --- a/Makefile.in +++ b/Makefile.in @@ -115,10 +115,10 @@ include ./ccenv/native.mk include ./cfgdefs.mk include ./usrdefs.mk -include $(PROJECT_DIR)/sofort/defs.mk -include $(PROJECT_DIR)/sofort/pkgconf.mk -include $(PROJECT_DIR)/sofort/version.mk -include $(PROJECT_DIR)/sofort/flavor.mk +include $(PROJECT_DIR)/sofort/core/defs.mk +include $(PROJECT_DIR)/sofort/core/pkgconf.mk +include $(PROJECT_DIR)/sofort/core/version.mk +include $(PROJECT_DIR)/sofort/core/flavor.mk include $(PROJECT_DIR)/project/osforce.mk include $(PROJECT_DIR)/project/tree.mk @@ -252,7 +252,7 @@ host.tag: Makefile mv host.tmp host.tag version.tag: $(GIT_REFERENCE_INDEX) dirs.tag - $(PROJECT_DIR)/sofort/version.sh \ + $(PROJECT_DIR)/sofort/tools/version.sh \ -s $(SOURCE_DIR) \ -o build/$(PACKAGE)_version.h \ -p $(PACKAGE) diff --git a/configure b/configure index d28e1be..95e1ba9 100755 --- a/configure +++ b/configure @@ -50,16 +50,23 @@ init_vars() mb_custom_cfgdefs_args='' mb_custom_cfgdefs_space='' - mb_make_vars=$(cat $mb_project_dir/sofort/config.vars \ + sfrt_impl_dir=$mb_project_dir/sofort + sfrt_config_dir=$sfrt_impl_dir/config + sfrt_core_dir=$sfrt_impl_dir/core + sfrt_config_vars=$sfrt_config_dir/config.vars + sfrt_flag_vars=$sfrt_config_dir/flag.vars + sfrt_cfgdefs_in=$sfrt_config_dir/cfgdefs.in + + mb_make_vars=$(cat $sfrt_config_vars \ | grep -v -e '^#' -e '^$' | tr '[:lower:]' '[:upper:]') - mb_impl_vars=$(cat $mb_project_dir/sofort/config.vars \ + mb_impl_vars=$(cat $sfrt_config_vars \ | grep -v -e '^#' -e '^$' | sed 's/^/mb_/g') - mb_proj_vars=$(cat $mb_project_dir/sofort/config.vars \ + mb_proj_vars=$(cat $sfrt_config_vars \ | grep -v -e '^#' -e '^$' | sed 's/^/mb_default_/g') - mb_flag_vars=$(cat $mb_project_dir/sofort/flag.vars \ + mb_flag_vars=$(cat $sfrt_flag_vars \ | grep -v -e '^#' -e '^$') mb_vars="$mb_make_vars $mb_impl_vars $mb_proj_vars $mb_flag_vars" @@ -89,14 +96,13 @@ init_vars() # project-specific config definitions if [ _$mb_use_custom_cfgdefs = _yes ]; then - cat $mb_project_dir/sofort/cfgdefs.in \ - > cfgdefs.mk + cat $sfrt_cfgdefs_in > cfgdefs.mk else printf '%s %s\n\n' \ '# this project does not include' \ 'a custom config step.' \ > cfgdefs.mk - cat $mb_project_dir/sofort/cfgdefs.in >> cfgdefs.mk + cat $sfrt_cfgdefs_in >> cfgdefs.mk if [ -f $mb_project_dir/project/cfgdefs.in ]; then cat $mb_project_dir/project/cfgdefs.in >> cfgdefs.mk @@ -397,7 +403,7 @@ config_flags() config_copy() { - mb_vars=$(cut -d'=' -f1 "$mb_project_dir/sofort/config.vars" \ + mb_vars=$(cut -d'=' -f1 $sfrt_config_vars \ | grep -v '^#') mb_sed_substs=" \ diff --git a/sofort/cfgdefs.in b/sofort/cfgdefs.in deleted file mode 100644 index fd4b947..0000000 --- a/sofort/cfgdefs.in +++ /dev/null @@ -1,6 +0,0 @@ -# changes made to this file will be gone the next time -# you run ./configure. - -# for persistent post-configure, ad-hoc changes to the -# build project, use usrdefs.mk instead. - diff --git a/sofort/config.vars b/sofort/config.vars deleted file mode 100644 index ac7c2aa..0000000 --- a/sofort/config.vars +++ /dev/null @@ -1,113 +0,0 @@ -package -nickname -project_dir -source_dir -git_reference_index -custom_install_headers -avoid_version - -pkgname -pkgdesc -pkgusrc -pkgrepo -pkgpsrc -pkgdurl -pkgdefs -pkglibs - -build -host -cchost -cfghost -target -arch -compiler -toolchain -zealous -sysroot -cross_compile -shell - -prefix -exec_prefix -bindir -sbindir -libdir -includedir -oldincludedir -mandir -docdir -libexecdir - -sysconfdir -sharedstatedir -localstatedir -runstatedir -datarootdir -datadir -infodir -localedir -htmldir -dvidir -pdfdir -psdir - -cflags -cflags_common -cflags_debug -cflags_cmdline -cflags_config -cflags_sysroot -cflags_os -cflags_site -cflags_path -cflags_strict -cflags_util -cflags_last -cflags_once - -ldflags -ldflags_common -ldflags_debug -ldflags_cmdline -ldflags_config -ldflags_sysroot -ldflags_path -ldflags_strict -ldflags_util -ldflags_last -ldflags_once - -cc -cpp -cxx - -user_cc -user_cpp -user_cxx - -pe_subsystem -pe_image_base -pe_config_defs - -elf_eh_frame -elf_hash_style -elf_config_defs - -native_cc -native_cpp -native_cxx - -native_host -native_cfghost -native_cflags -native_ldflags - -all_shared -all_static -disable_frontend -disable_shared -disable_static - -use_custom_cfgdefs -use_custom_usrdefs diff --git a/sofort/config/cfgdefs.in b/sofort/config/cfgdefs.in new file mode 100644 index 0000000..fd4b947 --- /dev/null +++ b/sofort/config/cfgdefs.in @@ -0,0 +1,6 @@ +# changes made to this file will be gone the next time +# you run ./configure. + +# for persistent post-configure, ad-hoc changes to the +# build project, use usrdefs.mk instead. + diff --git a/sofort/config/config.vars b/sofort/config/config.vars new file mode 100644 index 0000000..ac7c2aa --- /dev/null +++ b/sofort/config/config.vars @@ -0,0 +1,113 @@ +package +nickname +project_dir +source_dir +git_reference_index +custom_install_headers +avoid_version + +pkgname +pkgdesc +pkgusrc +pkgrepo +pkgpsrc +pkgdurl +pkgdefs +pkglibs + +build +host +cchost +cfghost +target +arch +compiler +toolchain +zealous +sysroot +cross_compile +shell + +prefix +exec_prefix +bindir +sbindir +libdir +includedir +oldincludedir +mandir +docdir +libexecdir + +sysconfdir +sharedstatedir +localstatedir +runstatedir +datarootdir +datadir +infodir +localedir +htmldir +dvidir +pdfdir +psdir + +cflags +cflags_common +cflags_debug +cflags_cmdline +cflags_config +cflags_sysroot +cflags_os +cflags_site +cflags_path +cflags_strict +cflags_util +cflags_last +cflags_once + +ldflags +ldflags_common +ldflags_debug +ldflags_cmdline +ldflags_config +ldflags_sysroot +ldflags_path +ldflags_strict +ldflags_util +ldflags_last +ldflags_once + +cc +cpp +cxx + +user_cc +user_cpp +user_cxx + +pe_subsystem +pe_image_base +pe_config_defs + +elf_eh_frame +elf_hash_style +elf_config_defs + +native_cc +native_cpp +native_cxx + +native_host +native_cfghost +native_cflags +native_ldflags + +all_shared +all_static +disable_frontend +disable_shared +disable_static + +use_custom_cfgdefs +use_custom_usrdefs diff --git a/sofort/config/flag.vars b/sofort/config/flag.vars new file mode 100644 index 0000000..4229e3e --- /dev/null +++ b/sofort/config/flag.vars @@ -0,0 +1,25 @@ +# configure +mb_config +mb_debug + +mb_ccstrict +mb_ldstrict + +mb_program_prefix +mb_require_source_dir + +mb_prefix_set +mb_bindir_set +mb_exec_prefix_set + +mb_bindir_basename + +# ccenv +mb_agnostic + +# cfgtest +mb_cfgtest_cc +mb_cfgtest_cflags +mb_cfgtest_cfgtype +mb_cfgtest_makevar +mb_cfgtest_headers diff --git a/sofort/core/defs.mk b/sofort/core/defs.mk new file mode 100644 index 0000000..151bc3d --- /dev/null +++ b/sofort/core/defs.mk @@ -0,0 +1,66 @@ +SHARED_LIB_DEPS = +SHARED_APP_DEPS = +STATIC_APP_DEPS = + +COMMON_LOBJS = $(COMMON_SRCS:.c=.lo) +COMMON_OBJS = $(COMMON_SRCS:.c=.o) + +ARCH_LOBJS = $(ARCH_SRCS:.c=.lo) +ARCH_OBJS = $(ARCH_SRCS:.c=.o) + +APP_LOBJS = $(APP_SRCS:.c=.lo) +APP_OBJS = $(APP_SRCS:.c=.o) + +SHARED_OBJS = $(COMMON_LOBJS) $(ARCH_LOBJS) +STATIC_OBJS = $(COMMON_OBJS) $(ARCH_OBJS) + +STATIC_LIB_NAME = $(OS_LIB_PREFIX)$(PACKAGE)$(OS_ARCHIVE_EXT) +STATIC_LIB = lib/$(STATIC_LIB_NAME) + +DSO_VER = $(OS_LIB_PREFIX)$(PACKAGE)$(OS_LIB_PREFIXED_SUFFIX)$(VER_XYZ)$(OS_LIB_SUFFIXED_SUFFIX) +DSO_SONAME = $(OS_LIB_PREFIX)$(PACKAGE)$(OS_LIB_PREFIXED_SUFFIX)$(VER_SONAME)$(OS_LIB_SUFFIXED_SUFFIX) +DSO_SOLINK = $(OS_LIB_PREFIX)$(PACKAGE)$(OS_LIB_SUFFIX) + +SHARED_LIB = lib/$(DSO_VER) +SHARED_SONAME = lib/$(DSO_SONAME) +SHARED_SOLINK = lib/$(DSO_SOLINK) + +IMP_DEF = $(OS_LIB_PREFIX)$(PACKAGE)$(VER_XYZ)$(OS_LIBDEF_EXT) +IMP_VER = $(OS_LIB_PREFIX)$(PACKAGE)$(VER_XYZ)$(OS_IMPLIB_EXT) +IMP_SONAME = $(OS_LIB_PREFIX)$(PACKAGE)$(VER_SONAME)$(OS_IMPLIB_EXT) +IMP_SOLINK = $(OS_LIB_PREFIX)$(PACKAGE)$(OS_IMPLIB_EXT) + +IMPLIB_DEF = lib/$(IMP_DEF) +IMPLIB_VER = lib/$(IMP_VER) +IMPLIB_SONAME = lib/$(IMP_SONAME) +IMPLIB_SOLINK = lib/$(IMP_SOLINK) + +APP = bin/$(OS_APP_PREFIX)$(NICKNAME)$(OS_APP_SUFFIX) +DEFAULT_APP = bin/$(OS_APP_PREFIX)$(NICKNAME)-default$(OS_APP_SUFFIX) +SHARED_APP = bin/$(OS_APP_PREFIX)$(NICKNAME)-shared$(OS_APP_SUFFIX) +STATIC_APP = bin/$(OS_APP_PREFIX)$(NICKNAME)-static$(OS_APP_SUFFIX) + +CFLAGS = $(CFLAGS_DEBUG) $(CFLAGS_CONFIG) $(CFLAGS_SYSROOT) \ + $(CFLAGS_COMMON) $(CFLAGS_CMDLINE) $(CFLAGS_HOST) \ + $(CFLAGS_PATH) $(CFLAGS_OS) $(CFLAGS_SITE) \ + $(CFLAGS_VERSION) $(CFLAGS_STRICT) \ + $(CFLAGS_LAST) $(CFLAGS_ONCE) + +CFLAGS_SHARED = $(CFLAGS) $(CFLAGS_PIC) $(CFLAGS_SHARED_ATTR) +CFLAGS_STATIC = $(CFLAGS) $(CFLAGS_OBJ) $(CFLAGS_STATIC_ATTR) +CFLAGS_APP = $(CFLAGS) $(CFLAGS_OBJ) $(CFLAGS_APP_ATTR) $(CFLAGS_UTIL) + +LDFLAGS_SHARED = $(LDFLAGS_DEBUG) $(LDFLAGS_CONFIG) $(LDFLAGS_SYSROOT) \ + $(LDFLAGS_COMMON) $(LDFLAGS_CMDLINE) $(LDFLAGS_HOST) \ + $(LDFLAGS_PATH) $(SHARED_LIB_DEPS) $(LDFLAGS_STRICT) \ + $(LDFLAGS_LAST) $(LDFLAGS_ONCE) + +LDFLAGS_APP = $(LDFLAGS_DEBUG) $(LDFLAGS_CONFIG) $(LDFLAGS_SYSROOT) \ + $(LDFLAGS_COMMON) $(LDFLAGS_CMDLINE) $(LDFLAGS_HOST) \ + $(LDFLAGS_PATH) $(SHARED_APP_DEPS) $(LDFLAGS_STRICT) \ + $(LDFLAGS_UTIL) $(LDFLAGS_LAST) $(LDFLAGS_ONCE) + +LDFLAGS_STATIC = $(LDFLAGS_DEBUG) $(LDFLAGS_CONFIG) $(LDFLAGS_SYSROOT) \ + $(LDFLAGS_COMMON) $(LDFLAGS_CMDLINE) $(LDFLAGS_HOST) \ + $(LDFLAGS_PATH) $(STATIC_APP_DEPS) $(LDFLAGS_STRICT) \ + $(LDFLAGS_LAST) $(LDFLAGS_ONCE) diff --git a/sofort/core/flavor.mk b/sofort/core/flavor.mk new file mode 100644 index 0000000..bd9ab06 --- /dev/null +++ b/sofort/core/flavor.mk @@ -0,0 +1,70 @@ +ifneq ($(OS_DSO_EXRULES),) +include $(PROJECT_DIR)/sofort/exrules/$(OS_DSO_EXRULES).mk +endif + +ifeq ($(DISABLE_STATIC),yes) +package-static: +package-install-static: +else +package-static: static +package-install-static: install-static +endif + +ifeq ($(DISABLE_SHARED),yes) +package-shared: +package-install-shared: +else +package-shared: shared +package-install-shared: install-shared +endif + + + +ifeq ($(DISABLE_FRONTEND),yes) +app-tag: +package-install-app: +package-install-extras: +else +app-tag: package-app app.tag +package-install-app: install-app +package-install-extras: install-extras +endif + + + +ifeq ($(ALL_STATIC),yes) + +package-app: static-app +app: PACKAGE_APP = $(STATIC_APP) +app-tag: PACKAGE_APP = $(STATIC_APP) +app.tag: $(STATIC_APP) + + +else ifeq ($(ALL_SHARED),yes) + +package-app: shared-app +app: PACKAGE_APP = $(SHARED_APP) +app-tag: PACKAGE_APP = $(SHARED_APP) +app.tag: $(SHARED_APP) + + +else + +package-app: default-app +app: PACKAGE_APP = $(DEFAULT_APP) +app-tag: PACKAGE_APP = $(DEFAULT_APP) +app.tag: $(DEFAULT_APP) + +endif + + + +ifeq ($(CUSTOM_INSTALL_HEADERS),yes) + +install-headers:install-headers-custom + +else + +install-headers:install-headers-default + +endif diff --git a/sofort/core/pkgconf.mk b/sofort/core/pkgconf.mk new file mode 100644 index 0000000..f266b9f --- /dev/null +++ b/sofort/core/pkgconf.mk @@ -0,0 +1,40 @@ +ifeq ($(PKGCONF),no) + +install-pkgconf: + +else + +PKGCONF_VERSION = $(VER_MAJOR).$(VER_MINOR).$(VER_PATCH) + +build/$(PACKAGE).pc: .pkgconf dirs.tag + +build/$(PACKAGE).pc: + @touch $@ + @chmod 0644 $@ + PKGCONF_NAME='$(PKGNAME)' \ + PKGCONF_DESC='$(PKGDESC)' \ + PKGCONF_USRC='$(PKGUSRC)' \ + PKGCONF_REPO='$(PKGREPO)' \ + PKGCONF_PSRC='$(PKGPSRC)' \ + PKGCONF_DURL='$(PKGDURL)' \ + PKGCONF_DEFS='$(PKGDEFS)' \ + PKGCONF_LIBS='$(PKGLIBS)' \ + \ + PKGCONF_EXEC_PREFIX='$(EXEC_PREFIX)' \ + PKGCONF_PREFIX='$(PREFIX)' \ + PKGCONF_LIBDIR='$(LIBDIR)' \ + PKGCONF_INCLUDEDIR='$(INCLUDEDIR)' \ + PKGCONF_VERSION='$(PKGCONF_VERSION)' \ + $(PROJECT_DIR)/sofort/tools/pkgconf.sh > $@ + +install-pkgconf: build/$(PACKAGE).pc + mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig + cp -p build/$(PACKAGE).pc $(DESTDIR)$(LIBDIR)/pkgconfig + +install-shared: install-pkgconf + +install-static: install-pkgconf + +.PHONY: .pkgconf install-pkgconf + +endif diff --git a/sofort/core/version.mk b/sofort/core/version.mk new file mode 100644 index 0000000..5ef0ee2 --- /dev/null +++ b/sofort/core/version.mk @@ -0,0 +1,63 @@ +include $(PROJECT_DIR)/project/tagver.mk + +CFLAGS_VERSION += -D$(VER_NAMESPACE)_TAG_VER_MAJOR=$(VER_MAJOR) +CFLAGS_VERSION += -D$(VER_NAMESPACE)_TAG_VER_MINOR=$(VER_MINOR) +CFLAGS_VERSION += -D$(VER_NAMESPACE)_TAG_VER_PATCH=$(VER_PATCH) + +ifeq ($(AVOID_VERSION),yes) + +VER_XYZ = +VER_SONAME = + +package-shared-soname: +package-shared-solink: +package-install-soname: +package-install-solink: + +else + +VER_XYZ = .$(VER_MAJOR).$(VER_MINOR).$(VER_PATCH) +VER_SONAME = .$(VER_MAJOR) + +package-shared-soname: shared-soname +package-shared-solink: shared-solink +package-install-soname: install-soname +package-install-solink: install-solink + + + +# libfoo.so (common) +install-solink: install-lib + rm -f $(SHARED_SOLINK).tmp + ln -s $(DSO_VER) $(SHARED_SOLINK).tmp + mv $(SHARED_SOLINK).tmp $(DESTDIR)$(LIBDIR)/$(DSO_SOLINK) + +$(SHARED_SOLINK): $(SHARED_LIB) + rm -f $@.tmp + ln -s $(DSO_VER) $@.tmp + mv $@.tmp $@ + +# libfoo.so.x (symlink) +ifeq ($(OS_SONAME),symlink) +$(SHARED_SONAME): $(SHARED_LIB) + rm -f $@.tmp + ln -s $(DSO_VER) $@.tmp + mv $@.tmp $@ + +install-soname: install-lib + rm -f $(SHARED_SONAME).tmp + ln -s $(DSO_VER) $(SHARED_SONAME).tmp + mv $(SHARED_SONAME).tmp $(DESTDIR)$(LIBDIR)/$(DSO_SONAME) +endif + + +# libfoo.so.x (copy) +ifeq ($(OS_SONAME),copy) +install-soname: install-lib + cp $(SHARED_LIB) $(DESTDIR)$(LIBDIR)/$(DSO_SONAME) + +$(SHARED_SONAME): $(SHARED_LIB) + cp $(SHARED_LIB) $(SHARED_SONAME) +endif + +endif diff --git a/sofort/defs.mk b/sofort/defs.mk deleted file mode 100644 index 151bc3d..0000000 --- a/sofort/defs.mk +++ /dev/null @@ -1,66 +0,0 @@ -SHARED_LIB_DEPS = -SHARED_APP_DEPS = -STATIC_APP_DEPS = - -COMMON_LOBJS = $(COMMON_SRCS:.c=.lo) -COMMON_OBJS = $(COMMON_SRCS:.c=.o) - -ARCH_LOBJS = $(ARCH_SRCS:.c=.lo) -ARCH_OBJS = $(ARCH_SRCS:.c=.o) - -APP_LOBJS = $(APP_SRCS:.c=.lo) -APP_OBJS = $(APP_SRCS:.c=.o) - -SHARED_OBJS = $(COMMON_LOBJS) $(ARCH_LOBJS) -STATIC_OBJS = $(COMMON_OBJS) $(ARCH_OBJS) - -STATIC_LIB_NAME = $(OS_LIB_PREFIX)$(PACKAGE)$(OS_ARCHIVE_EXT) -STATIC_LIB = lib/$(STATIC_LIB_NAME) - -DSO_VER = $(OS_LIB_PREFIX)$(PACKAGE)$(OS_LIB_PREFIXED_SUFFIX)$(VER_XYZ)$(OS_LIB_SUFFIXED_SUFFIX) -DSO_SONAME = $(OS_LIB_PREFIX)$(PACKAGE)$(OS_LIB_PREFIXED_SUFFIX)$(VER_SONAME)$(OS_LIB_SUFFIXED_SUFFIX) -DSO_SOLINK = $(OS_LIB_PREFIX)$(PACKAGE)$(OS_LIB_SUFFIX) - -SHARED_LIB = lib/$(DSO_VER) -SHARED_SONAME = lib/$(DSO_SONAME) -SHARED_SOLINK = lib/$(DSO_SOLINK) - -IMP_DEF = $(OS_LIB_PREFIX)$(PACKAGE)$(VER_XYZ)$(OS_LIBDEF_EXT) -IMP_VER = $(OS_LIB_PREFIX)$(PACKAGE)$(VER_XYZ)$(OS_IMPLIB_EXT) -IMP_SONAME = $(OS_LIB_PREFIX)$(PACKAGE)$(VER_SONAME)$(OS_IMPLIB_EXT) -IMP_SOLINK = $(OS_LIB_PREFIX)$(PACKAGE)$(OS_IMPLIB_EXT) - -IMPLIB_DEF = lib/$(IMP_DEF) -IMPLIB_VER = lib/$(IMP_VER) -IMPLIB_SONAME = lib/$(IMP_SONAME) -IMPLIB_SOLINK = lib/$(IMP_SOLINK) - -APP = bin/$(OS_APP_PREFIX)$(NICKNAME)$(OS_APP_SUFFIX) -DEFAULT_APP = bin/$(OS_APP_PREFIX)$(NICKNAME)-default$(OS_APP_SUFFIX) -SHARED_APP = bin/$(OS_APP_PREFIX)$(NICKNAME)-shared$(OS_APP_SUFFIX) -STATIC_APP = bin/$(OS_APP_PREFIX)$(NICKNAME)-static$(OS_APP_SUFFIX) - -CFLAGS = $(CFLAGS_DEBUG) $(CFLAGS_CONFIG) $(CFLAGS_SYSROOT) \ - $(CFLAGS_COMMON) $(CFLAGS_CMDLINE) $(CFLAGS_HOST) \ - $(CFLAGS_PATH) $(CFLAGS_OS) $(CFLAGS_SITE) \ - $(CFLAGS_VERSION) $(CFLAGS_STRICT) \ - $(CFLAGS_LAST) $(CFLAGS_ONCE) - -CFLAGS_SHARED = $(CFLAGS) $(CFLAGS_PIC) $(CFLAGS_SHARED_ATTR) -CFLAGS_STATIC = $(CFLAGS) $(CFLAGS_OBJ) $(CFLAGS_STATIC_ATTR) -CFLAGS_APP = $(CFLAGS) $(CFLAGS_OBJ) $(CFLAGS_APP_ATTR) $(CFLAGS_UTIL) - -LDFLAGS_SHARED = $(LDFLAGS_DEBUG) $(LDFLAGS_CONFIG) $(LDFLAGS_SYSROOT) \ - $(LDFLAGS_COMMON) $(LDFLAGS_CMDLINE) $(LDFLAGS_HOST) \ - $(LDFLAGS_PATH) $(SHARED_LIB_DEPS) $(LDFLAGS_STRICT) \ - $(LDFLAGS_LAST) $(LDFLAGS_ONCE) - -LDFLAGS_APP = $(LDFLAGS_DEBUG) $(LDFLAGS_CONFIG) $(LDFLAGS_SYSROOT) \ - $(LDFLAGS_COMMON) $(LDFLAGS_CMDLINE) $(LDFLAGS_HOST) \ - $(LDFLAGS_PATH) $(SHARED_APP_DEPS) $(LDFLAGS_STRICT) \ - $(LDFLAGS_UTIL) $(LDFLAGS_LAST) $(LDFLAGS_ONCE) - -LDFLAGS_STATIC = $(LDFLAGS_DEBUG) $(LDFLAGS_CONFIG) $(LDFLAGS_SYSROOT) \ - $(LDFLAGS_COMMON) $(LDFLAGS_CMDLINE) $(LDFLAGS_HOST) \ - $(LDFLAGS_PATH) $(STATIC_APP_DEPS) $(LDFLAGS_STRICT) \ - $(LDFLAGS_LAST) $(LDFLAGS_ONCE) diff --git a/sofort/flag.vars b/sofort/flag.vars deleted file mode 100644 index 4229e3e..0000000 --- a/sofort/flag.vars +++ /dev/null @@ -1,25 +0,0 @@ -# configure -mb_config -mb_debug - -mb_ccstrict -mb_ldstrict - -mb_program_prefix -mb_require_source_dir - -mb_prefix_set -mb_bindir_set -mb_exec_prefix_set - -mb_bindir_basename - -# ccenv -mb_agnostic - -# cfgtest -mb_cfgtest_cc -mb_cfgtest_cflags -mb_cfgtest_cfgtype -mb_cfgtest_makevar -mb_cfgtest_headers diff --git a/sofort/flavor.mk b/sofort/flavor.mk deleted file mode 100644 index bd9ab06..0000000 --- a/sofort/flavor.mk +++ /dev/null @@ -1,70 +0,0 @@ -ifneq ($(OS_DSO_EXRULES),) -include $(PROJECT_DIR)/sofort/exrules/$(OS_DSO_EXRULES).mk -endif - -ifeq ($(DISABLE_STATIC),yes) -package-static: -package-install-static: -else -package-static: static -package-install-static: install-static -endif - -ifeq ($(DISABLE_SHARED),yes) -package-shared: -package-install-shared: -else -package-shared: shared -package-install-shared: install-shared -endif - - - -ifeq ($(DISABLE_FRONTEND),yes) -app-tag: -package-install-app: -package-install-extras: -else -app-tag: package-app app.tag -package-install-app: install-app -package-install-extras: install-extras -endif - - - -ifeq ($(ALL_STATIC),yes) - -package-app: static-app -app: PACKAGE_APP = $(STATIC_APP) -app-tag: PACKAGE_APP = $(STATIC_APP) -app.tag: $(STATIC_APP) - - -else ifeq ($(ALL_SHARED),yes) - -package-app: shared-app -app: PACKAGE_APP = $(SHARED_APP) -app-tag: PACKAGE_APP = $(SHARED_APP) -app.tag: $(SHARED_APP) - - -else - -package-app: default-app -app: PACKAGE_APP = $(DEFAULT_APP) -app-tag: PACKAGE_APP = $(DEFAULT_APP) -app.tag: $(DEFAULT_APP) - -endif - - - -ifeq ($(CUSTOM_INSTALL_HEADERS),yes) - -install-headers:install-headers-custom - -else - -install-headers:install-headers-default - -endif diff --git a/sofort/pkgconf.mk b/sofort/pkgconf.mk deleted file mode 100644 index c8fc711..0000000 --- a/sofort/pkgconf.mk +++ /dev/null @@ -1,40 +0,0 @@ -ifeq ($(PKGCONF),no) - -install-pkgconf: - -else - -PKGCONF_VERSION = $(VER_MAJOR).$(VER_MINOR).$(VER_PATCH) - -build/$(PACKAGE).pc: .pkgconf dirs.tag - -build/$(PACKAGE).pc: - @touch $@ - @chmod 0644 $@ - PKGCONF_NAME='$(PKGNAME)' \ - PKGCONF_DESC='$(PKGDESC)' \ - PKGCONF_USRC='$(PKGUSRC)' \ - PKGCONF_REPO='$(PKGREPO)' \ - PKGCONF_PSRC='$(PKGPSRC)' \ - PKGCONF_DURL='$(PKGDURL)' \ - PKGCONF_DEFS='$(PKGDEFS)' \ - PKGCONF_LIBS='$(PKGLIBS)' \ - \ - PKGCONF_EXEC_PREFIX='$(EXEC_PREFIX)' \ - PKGCONF_PREFIX='$(PREFIX)' \ - PKGCONF_LIBDIR='$(LIBDIR)' \ - PKGCONF_INCLUDEDIR='$(INCLUDEDIR)' \ - PKGCONF_VERSION='$(PKGCONF_VERSION)' \ - $(PROJECT_DIR)/sofort/pkgconf.sh > $@ - -install-pkgconf: build/$(PACKAGE).pc - mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig - cp -p build/$(PACKAGE).pc $(DESTDIR)$(LIBDIR)/pkgconfig - -install-shared: install-pkgconf - -install-static: install-pkgconf - -.PHONY: .pkgconf install-pkgconf - -endif diff --git a/sofort/pkgconf.sh b/sofort/pkgconf.sh deleted file mode 100755 index a37e368..0000000 --- a/sofort/pkgconf.sh +++ /dev/null @@ -1,107 +0,0 @@ -#!/bin/sh - -# prefix, exec_prefix -if [ "$PKGCONF_PREFIX" = "$PKGCONF_EXEC_PREFIX" ]; then - pkgconf_prefix="${PKGCONF_PREFIX}" - pkgconf_exec_prefix='${prefix}' -else - pkgconf_prefix="${PKGCONF_PREFIX}" - pkgconf_exec_prefix="${PKGCONF_EXEC_PREFIX}" -fi - - -# (relative) includedir -if [ -z "$PKGCONF_INCLUDEDIR" ]; then - pkgconf_includedir= - pkgconf_cflags= -else - prefix=$(dirname "$PKGCONF_INCLUDEDIR") - base=$(basename "$PKGCONF_INCLUDEDIR") - - if [ "$prefix/$base" = "$PKGCONF_PREFIX/$base" ]; then - pkgconf_includedir='${prefix}/'"${base}" - pkgconf_cflags='-I${includedir}' - else - pkgconf_includedir="${PKGCONF_INCLUDEDIR}" - pkgconf_cflags='-I${includedir}' - fi -fi - - -# (relative) libdir (blank unless needed) -if [ -z "$PKGCONF_LIBDIR" ]; then - pkgconf_libdir= -else - prefix=$(dirname "$PKGCONF_LIBDIR") - base=$(basename "$PKGCONF_LIBDIR") - - if [ "$prefix/$base" = "$PKGCONF_EXEC_PREFIX/$base" ]; then - pkgconf_libdir='${exec_prefix}/'"${base}" - else - pkgconf_libdir='${prefix}/'"${PKGCONF_LIBDIR}" - fi -fi - - -# ldflags (--libs) -if [ -n "$pkgconf_libdir" ] && [ -n "${PKGCONF_NAME}" ]; then - pkgconf_ldflags="$pkgconf_libdir -l${PKGCONF_NAME}" -elif [ -n "${PKGCONF_NAME}" ]; then - pkgconf_ldflags="-l${PKGCONF_NAME}" -else - pkgconf_ldflags="$pkgconf_libdir" -fi - - -# cflags -if [ -n "$pkgconf_cflags" ] || [ -n "${PKGCONF_DEFS}" ]; then - pkgconf_cflags="$pkgconf_cflags ${PKGCONF_DEFS}" - pkgconf_cflags=$(printf '%s' "$pkgconf_cflags" | sed -e 's/^[ \t]*//g') -fi - - -# repo (optional) -if [ -z "${PKGCONF_REPO}" ]; then - pkgconf_repo='#' -else - pkgconf_repo="Repo: ${PKGCONF_REPO}" -fi - -# patches (optional) -if [ -z "${PKGCONF_PSRC}" ]; then - pkgconf_psrc='#' -else - pkgconf_psrc="Patches: ${PKGCONF_PSRC}" -fi - -# distro (optional) -if [ -z "${PKGCONF_DURL}" ]; then - pkgconf_durl='#' -else - pkgconf_durl="Distro: ${PKGCONF_DURL}" -fi - - -# output (without trailing spaces) -cat << _EOF | grep -v '^#' | sed 's/[ \t]*$//' -### -prefix=$pkgconf_prefix -exec_prefix=$pkgconf_exec_prefix -includedir=$pkgconf_includedir -libdir=$pkgconf_libdir - -Name: ${PKGCONF_NAME} -Description: ${PKGCONF_DESC} -URL: ${PKGCONF_USRC} -Version: ${PKGCONF_VERSION} -$pkgconf_repo -$pkgconf_psrc -$pkgconf_durl - -Cflags: $pkgconf_cflags -Libs: $pkgconf_ldflags -### -_EOF - -# all done -exit 0 diff --git a/sofort/tools/pkgconf.sh b/sofort/tools/pkgconf.sh new file mode 100755 index 0000000..a37e368 --- /dev/null +++ b/sofort/tools/pkgconf.sh @@ -0,0 +1,107 @@ +#!/bin/sh + +# prefix, exec_prefix +if [ "$PKGCONF_PREFIX" = "$PKGCONF_EXEC_PREFIX" ]; then + pkgconf_prefix="${PKGCONF_PREFIX}" + pkgconf_exec_prefix='${prefix}' +else + pkgconf_prefix="${PKGCONF_PREFIX}" + pkgconf_exec_prefix="${PKGCONF_EXEC_PREFIX}" +fi + + +# (relative) includedir +if [ -z "$PKGCONF_INCLUDEDIR" ]; then + pkgconf_includedir= + pkgconf_cflags= +else + prefix=$(dirname "$PKGCONF_INCLUDEDIR") + base=$(basename "$PKGCONF_INCLUDEDIR") + + if [ "$prefix/$base" = "$PKGCONF_PREFIX/$base" ]; then + pkgconf_includedir='${prefix}/'"${base}" + pkgconf_cflags='-I${includedir}' + else + pkgconf_includedir="${PKGCONF_INCLUDEDIR}" + pkgconf_cflags='-I${includedir}' + fi +fi + + +# (relative) libdir (blank unless needed) +if [ -z "$PKGCONF_LIBDIR" ]; then + pkgconf_libdir= +else + prefix=$(dirname "$PKGCONF_LIBDIR") + base=$(basename "$PKGCONF_LIBDIR") + + if [ "$prefix/$base" = "$PKGCONF_EXEC_PREFIX/$base" ]; then + pkgconf_libdir='${exec_prefix}/'"${base}" + else + pkgconf_libdir='${prefix}/'"${PKGCONF_LIBDIR}" + fi +fi + + +# ldflags (--libs) +if [ -n "$pkgconf_libdir" ] && [ -n "${PKGCONF_NAME}" ]; then + pkgconf_ldflags="$pkgconf_libdir -l${PKGCONF_NAME}" +elif [ -n "${PKGCONF_NAME}" ]; then + pkgconf_ldflags="-l${PKGCONF_NAME}" +else + pkgconf_ldflags="$pkgconf_libdir" +fi + + +# cflags +if [ -n "$pkgconf_cflags" ] || [ -n "${PKGCONF_DEFS}" ]; then + pkgconf_cflags="$pkgconf_cflags ${PKGCONF_DEFS}" + pkgconf_cflags=$(printf '%s' "$pkgconf_cflags" | sed -e 's/^[ \t]*//g') +fi + + +# repo (optional) +if [ -z "${PKGCONF_REPO}" ]; then + pkgconf_repo='#' +else + pkgconf_repo="Repo: ${PKGCONF_REPO}" +fi + +# patches (optional) +if [ -z "${PKGCONF_PSRC}" ]; then + pkgconf_psrc='#' +else + pkgconf_psrc="Patches: ${PKGCONF_PSRC}" +fi + +# distro (optional) +if [ -z "${PKGCONF_DURL}" ]; then + pkgconf_durl='#' +else + pkgconf_durl="Distro: ${PKGCONF_DURL}" +fi + + +# output (without trailing spaces) +cat << _EOF | grep -v '^#' | sed 's/[ \t]*$//' +### +prefix=$pkgconf_prefix +exec_prefix=$pkgconf_exec_prefix +includedir=$pkgconf_includedir +libdir=$pkgconf_libdir + +Name: ${PKGCONF_NAME} +Description: ${PKGCONF_DESC} +URL: ${PKGCONF_USRC} +Version: ${PKGCONF_VERSION} +$pkgconf_repo +$pkgconf_psrc +$pkgconf_durl + +Cflags: $pkgconf_cflags +Libs: $pkgconf_ldflags +### +_EOF + +# all done +exit 0 diff --git a/sofort/tools/version.sh b/sofort/tools/version.sh new file mode 100755 index 0000000..f510a32 --- /dev/null +++ b/sofort/tools/version.sh @@ -0,0 +1,72 @@ +#!/bin/sh + +set -eu + +usage() +{ +cat << EOF >&2 + +Usage: + -h show this HELP message + -s SRCDIR set source directory + -o OUTPUT set output header + -p PREFIX set macro prefix + +EOF +exit 1 +} + + +# one +workdir=$(pwd) +srcdir= +output= +prefix= + + +while getopts "hs:o:p:" opt; do + case $opt in + h) + usage + ;; + s) + srcdir="$OPTARG" + ;; + o) + output="$OPTARG" + ;; + p) + prefix="$OPTARG" + ;; + \?) + printf "Invalid option: -%s" "$OPTARG" >&2 + usage + ;; + esac +done + + +# two +if [ -z "$srcdir" ] || [ -z "$output" ] || [ -z "$prefix" ]; then + usage +fi + +cd "$srcdir" + +gitver=$(git rev-parse --verify HEAD 2>/dev/null) || gitver="unknown" +cvdate=$(git show -s --format=%ci $gitver 2>/dev/null) || cvdate=$(date) + +vmacro=$(printf '%s' "$prefix"'_GIT_VERSION' | tr '[:lower:]' '[:upper:]') +dmacro=$(printf '%s' "$prefix"'_GIT_DATE ' | tr '[:lower:]' '[:upper:]') + +cd "$workdir" + + +# three +printf '#define %s "%s"\n#define %s "%s"\n' \ + "$vmacro" "$gitver" \ + "$dmacro" "$cvdate" \ + > "$output" + +# all done +exit 0 diff --git a/sofort/version.mk b/sofort/version.mk deleted file mode 100644 index 5ef0ee2..0000000 --- a/sofort/version.mk +++ /dev/null @@ -1,63 +0,0 @@ -include $(PROJECT_DIR)/project/tagver.mk - -CFLAGS_VERSION += -D$(VER_NAMESPACE)_TAG_VER_MAJOR=$(VER_MAJOR) -CFLAGS_VERSION += -D$(VER_NAMESPACE)_TAG_VER_MINOR=$(VER_MINOR) -CFLAGS_VERSION += -D$(VER_NAMESPACE)_TAG_VER_PATCH=$(VER_PATCH) - -ifeq ($(AVOID_VERSION),yes) - -VER_XYZ = -VER_SONAME = - -package-shared-soname: -package-shared-solink: -package-install-soname: -package-install-solink: - -else - -VER_XYZ = .$(VER_MAJOR).$(VER_MINOR).$(VER_PATCH) -VER_SONAME = .$(VER_MAJOR) - -package-shared-soname: shared-soname -package-shared-solink: shared-solink -package-install-soname: install-soname -package-install-solink: install-solink - - - -# libfoo.so (common) -install-solink: install-lib - rm -f $(SHARED_SOLINK).tmp - ln -s $(DSO_VER) $(SHARED_SOLINK).tmp - mv $(SHARED_SOLINK).tmp $(DESTDIR)$(LIBDIR)/$(DSO_SOLINK) - -$(SHARED_SOLINK): $(SHARED_LIB) - rm -f $@.tmp - ln -s $(DSO_VER) $@.tmp - mv $@.tmp $@ - -# libfoo.so.x (symlink) -ifeq ($(OS_SONAME),symlink) -$(SHARED_SONAME): $(SHARED_LIB) - rm -f $@.tmp - ln -s $(DSO_VER) $@.tmp - mv $@.tmp $@ - -install-soname: install-lib - rm -f $(SHARED_SONAME).tmp - ln -s $(DSO_VER) $(SHARED_SONAME).tmp - mv $(SHARED_SONAME).tmp $(DESTDIR)$(LIBDIR)/$(DSO_SONAME) -endif - - -# libfoo.so.x (copy) -ifeq ($(OS_SONAME),copy) -install-soname: install-lib - cp $(SHARED_LIB) $(DESTDIR)$(LIBDIR)/$(DSO_SONAME) - -$(SHARED_SONAME): $(SHARED_LIB) - cp $(SHARED_LIB) $(SHARED_SONAME) -endif - -endif diff --git a/sofort/version.sh b/sofort/version.sh deleted file mode 100755 index f510a32..0000000 --- a/sofort/version.sh +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/sh - -set -eu - -usage() -{ -cat << EOF >&2 - -Usage: - -h show this HELP message - -s SRCDIR set source directory - -o OUTPUT set output header - -p PREFIX set macro prefix - -EOF -exit 1 -} - - -# one -workdir=$(pwd) -srcdir= -output= -prefix= - - -while getopts "hs:o:p:" opt; do - case $opt in - h) - usage - ;; - s) - srcdir="$OPTARG" - ;; - o) - output="$OPTARG" - ;; - p) - prefix="$OPTARG" - ;; - \?) - printf "Invalid option: -%s" "$OPTARG" >&2 - usage - ;; - esac -done - - -# two -if [ -z "$srcdir" ] || [ -z "$output" ] || [ -z "$prefix" ]; then - usage -fi - -cd "$srcdir" - -gitver=$(git rev-parse --verify HEAD 2>/dev/null) || gitver="unknown" -cvdate=$(git show -s --format=%ci $gitver 2>/dev/null) || cvdate=$(date) - -vmacro=$(printf '%s' "$prefix"'_GIT_VERSION' | tr '[:lower:]' '[:upper:]') -dmacro=$(printf '%s' "$prefix"'_GIT_DATE ' | tr '[:lower:]' '[:upper:]') - -cd "$workdir" - - -# three -printf '#define %s "%s"\n#define %s "%s"\n' \ - "$vmacro" "$gitver" \ - "$dmacro" "$cvdate" \ - > "$output" - -# all done -exit 0