This removes support of separate qmake versions in one port: as we discovered, there are no ports actually needing this; strangers like print/poppler don't use qmake in build. This should be transparent to current ports. But expect more tweaks there: for now, qt?.port.mk forces qmake.port.mk inclusion, but that will be reworked to a more common scheme. Same idea from (at least) espie@ and me; also, espie@ agrees on the plan.
89 lines
2.5 KiB
Makefile
89 lines
2.5 KiB
Makefile
# $OpenBSD: qmake.port.mk,v 1.1 2016/03/10 17:45:11 zhuk Exp $
|
|
|
|
.if ${CONFIGURE_STYLE:Mqmake}
|
|
. if ${MODULES:Mx11/qt?} == ${MODULES}
|
|
ERRORS += qmake port module requires one of the x11/qt* modules
|
|
. endif
|
|
|
|
MAKE_FLAGS += CC="${CC}" CXX="${CXX}"
|
|
MAKE_FLAGS += PREFIX=${PREFIX}
|
|
. for _l _v in ${SHARED_LIBS}
|
|
MAKE_FLAGS += LIB${_l}_VERSION=${_v}
|
|
. endfor
|
|
|
|
MODQMAKE_PROJECTS ?= .
|
|
MODQMAKE_ARGS += -recursive \
|
|
PREFIX=${PREFIX} \
|
|
QMAKE_CFLAGS="${CFLAGS}" \
|
|
QMAKE_CFLAGS_RELEASE="${CFLAGS}" \
|
|
QMAKE_CXX="${CXX}" \
|
|
QMAKE_CXXFLAGS="${CXXFLAGS}" \
|
|
QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS}"
|
|
|
|
MODQMAKE_INSTALL_ROOT ?= ${WRKINST}
|
|
_MODQMAKE_FAKE_FLAGS = INSTALL_ROOT=${MODQMAKE_INSTALL_ROOT}
|
|
|
|
MODQMAKE_configure =
|
|
MODQMAKE_build =
|
|
MODQMAKE_install =
|
|
. for _qp in ${MODQMAKE_PROJECTS}
|
|
_MODQMAKE_CD_${_qp:/=_} = \
|
|
cd ${WRKBUILD}; \
|
|
if [ -d ${WRKSRC}/${_qp} ]; then \
|
|
dir=${_qp}; \
|
|
else \
|
|
dir=$$(dirname ${_qp}); \
|
|
fi; \
|
|
mkdir -p $$dir; \
|
|
cd -- $$dir
|
|
MODQMAKE_configure += \
|
|
cd ${WRKSRC}; \
|
|
if [ -d ${_qp} ]; then \
|
|
pro=$$(echo ${_qp}/*.pro); \
|
|
else \
|
|
pro=${_qp}; \
|
|
fi; \
|
|
${_MODQMAKE_CD_${_qp:/=_}}; \
|
|
echo >&2 ${MODQT_QMAKE} ${MODQMAKE_ARGS} ${WRKSRC}/$$pro; \
|
|
${MODQT_QMAKE} ${MODQMAKE_ARGS} ${WRKSRC}/$$pro;
|
|
MODQMAKE_build += \
|
|
${_MODQMAKE_CD_${_qp:/=_}}; \
|
|
${_MODQMAKE_build_SYSTRACE_CMD} ${SETENV} ${MAKE_ENV} \
|
|
${MAKE_PROGRAM} ${MAKE_FLAGS} -f Makefile ${ALL_TARGET};
|
|
MODQMAKE_install += \
|
|
${_MODQMAKE_CD_${_qp:/=_}}; \
|
|
umask 022; \
|
|
${_FAKESUDO} ${_MODQMAKE_install_SYSTRACE_CMD} \
|
|
${SETENV} ${MAKE_ENV} ${FAKE_SETUP} \
|
|
${MAKE_PROGRAM} ${ALL_FAKE_FLAGS} ${_MODQMAKE_FAKE_FLAGS} \
|
|
-f Makefile ${FAKE_TARGET};
|
|
. endfor
|
|
|
|
SEPARATE_BUILD ?= Yes
|
|
. if ${SEPARATE_BUILD:L} != "no"
|
|
. if ${SEPARATE_BUILD:L} != "yes"
|
|
ERRORS += "Fatal: qmake supports only simple SEPARATE_BUILD builds."
|
|
. endif
|
|
# "Shadow builds" of qmake can only work in subdirectory
|
|
WRKBUILD ?= ${WRKSRC}/build-${MACHINE_ARCH}
|
|
. endif
|
|
|
|
# Could not add ${_SYSTRACE_CMD} unconditionally since in case of
|
|
# do-build bsd.port.mk adds ${_SYSTRACE_CMD} itself.
|
|
. if !target(do-build) && "${CONFIGURE_STYLE:Nqmake}" == ""
|
|
do-build:
|
|
@${MODQMAKE_build}
|
|
. else
|
|
_MODQMAKE_build_SYSTRACE_CMD = ${_SYSTRACE_CMD}
|
|
. endif
|
|
|
|
# Could not add ${_SYSTRACE_CMD} unconditionally since in case of
|
|
# do-install bsd.port.mk adds ${_SYSTRACE_CMD} itself.
|
|
. if !target(do-install) && "${CONFIGURE_STYLE:Nqmake}" == ""
|
|
do-install:
|
|
@${MODQMAKE_install}
|
|
. else
|
|
_MODQMAKE_install_SYSTRACE_CMD = ${_SYSTRACE_CMD}
|
|
. endif
|
|
.endif # CONFIGURE_STYLE:Mqmake
|