core/Makefile
Franco Fichtner 4977452594 system: always rewrite from the default file
As an added benefit, (default) will now always revert back to the
actual default from the sample configuration, which is exactly
how it should be.
2015-07-29 12:18:42 +02:00

208 lines
4.9 KiB
Makefile

PKG!= which pkg || echo true
PAGER?= less
all:
@cat ${.CURDIR}/README.md | ${PAGER}
force:
mount: force
@${.CURDIR}/scripts/version.sh > \
${.CURDIR}/src/opnsense/version/opnsense
/sbin/mount_unionfs ${.CURDIR}/src /usr/local
umount: force
/sbin/umount -f "<above>:${.CURDIR}/src"
CORE_COMMIT!= ${.CURDIR}/scripts/version.sh
CORE_VERSION= ${CORE_COMMIT:C/-.*$//1}
CORE_HASH= ${CORE_COMMIT:C/^.*-//1}
.if "${FLAVOUR}" == LibreSSL
CORE_REPOSITORY?= libressl
.else
CORE_REPOSITORY?= latest
.endif
CORE_PACKAGESITE?= http://pkg.opnsense.org
CORE_NAME?= opnsense-devel
CORE_ORIGIN?= opnsense/${CORE_NAME}
CORE_COMMENT?= OPNsense development package
CORE_MAINTAINER?= franco@opnsense.org
CORE_WWW?= https://opnsense.org/
CORE_MESSAGE?= Follow the brave badger!
CORE_DEPENDS?= apinger \
ataidle \
beep \
bind910 \
bsdinstaller \
bsnmp-regex \
bsnmp-ucd \
ca_root_nss \
choparp \
cpustats \
dhcp6 \
dhcpleases \
dnsmasq \
expiretable \
filterdns \
filterlog \
ifinfo \
igmpproxy \
isc-dhcp42-client \
isc-dhcp42-relay \
isc-dhcp42-server \
lighttpd \
minicron \
miniupnpd \
mpd4 \
mpd5 \
ntp \
openssh-portable \
openvpn \
os-update \
pecl-radius \
pftop \
phalcon \
php-pfSense \
php-suhosin \
php-xdebug \
php56 \
php56-bcmath \
php56-bz2 \
php56-ctype \
php56-curl \
php56-dom \
php56-filter \
php56-gettext \
php56-hash \
php56-json \
php56-ldap \
php56-mbstring \
php56-mcrypt \
php56-mysql \
php56-openssl \
php56-pdo \
php56-pdo_sqlite \
php56-session \
php56-simplexml \
php56-sockets \
php56-sqlite3 \
php56-tokenizer \
php56-xml \
php56-zlib \
py27-Jinja2 \
py27-requests \
py27-sqlite3 \
py27-ujson \
python27 \
radvd \
rate \
relayd \
rrdtool12 \
smartmontools \
squid \
sshlockout_pf \
strongswan \
sudo \
suricata \
syslogd \
voucher \
wol \
zip
manifest: force
@echo "name: \"${CORE_NAME}\""
@echo "version: \"${CORE_VERSION}\""
@echo "origin: \"${CORE_ORIGIN}\""
@echo "comment: \"${CORE_COMMENT}\""
@echo "desc: \"${CORE_HASH}\""
@echo "maintainer: \"${CORE_MAINTAINER}\""
@echo "www: \"${CORE_WWW}\""
@echo "message: \"${CORE_MESSAGE}\""
@echo "categories: [ \"sysutils\", \"www\" ]"
@echo "licenselogic: \"single\""
@echo "licenses: [ \"BSD2CLAUSE\" ]"
@echo "prefix: /usr/local"
@echo "deps: {"
@for CORE_DEPEND in ${CORE_DEPENDS}; do \
${PKG} query ' %n: { version: "%v", origin: "%o" }' \
$${CORE_DEPEND}; \
done
@echo "}"
name: force
@echo ${CORE_NAME}
depends: force
@echo ${CORE_DEPENDS}
scripts: force
@mkdir -p ${DESTDIR}
@cp -v -- +PRE_DEINSTALL +POST_INSTALL ${DESTDIR}
@sed -i '' -e "s/%%CORE_COMMIT%%/${CORE_COMMIT}/g" \
${DESTDIR}/+POST_INSTALL
install: force
@${MAKE} -C ${.CURDIR}/lang install DESTDIR=${DESTDIR}
@${MAKE} -C ${.CURDIR}/contrib install DESTDIR=${DESTDIR}
@mkdir -p ${DESTDIR}/usr/local
@cp -vr ${.CURDIR}/src/* ${DESTDIR}/usr/local
@sed -i '' -e "s/%%CORE_PACKAGESITE%%/${CORE_PACKAGESITE}/g" \
${DESTDIR}/usr/local/etc/pkg/repos/origin.conf.sample
@sed -i '' -e "s/%%CORE_REPOSITORY%%/${CORE_REPOSITORY}/g" \
${DESTDIR}/usr/local/etc/pkg/repos/origin.conf.sample
plist: force
@${MAKE} -C ${.CURDIR}/lang plist
@${MAKE} -C ${.CURDIR}/contrib plist
@(cd ${.CURDIR}/src; find * -type f) | while read FILE; do \
if [ $${FILE%%.sample} != $${FILE} ]; then \
echo "@sample /usr/local/$${FILE}"; \
else \
echo "/usr/local/$${FILE}"; \
fi; \
done
lint: force
find ${.CURDIR}/src ${.CURDIR}/lang/dynamic/helpers \
! -name "*.xml" ! -name "*.xml.sample" ! -name "*.eot" \
! -name "*.svg" ! -name "*.woff" ! -name "*.woff2" \
! -name "*.otf" ! -name "*.png" ! -name "*.js" \
! -name "*.scss" ! -name "*.py" ! -name "*.ttf" \
! -name "*.tgz" -type f -print0 | xargs -0 -n1 php -l
sweep: force
find ${.CURDIR}/src ! -name "*.min.*" ! -name "*.svg" \
! -name "*.map" -type f -print0 | \
xargs -0 -n1 scripts/cleanfile
find ${.CURDIR}/lang -type f -print0 | \
xargs -0 -n1 scripts/cleanfile
find ${.CURDIR}/scripts -type f -print0 | \
xargs -0 -n1 scripts/cleanfile
style: force
@(phpcs --tab-width=4 --standard=PSR2 ${.CURDIR}/src/opnsense/mvc \
|| true) > ${.CURDIR}/.style.out
@echo -n "Total number of style warnings: "
@grep '| WARNING' ${.CURDIR}/.style.out | wc -l
@echo -n "Total number of style errors: "
@grep '| ERROR' ${.CURDIR}/.style.out | wc -l
@cat ${.CURDIR}/.style.out
@rm ${.CURDIR}/.style.out
stylefix: force
phpcbf --standard=PSR2 ${.CURDIR}/src/opnsense/mvc || true
setup: force
${.CURDIR}/src/etc/rc.php_ini_setup
health: force
# check test script output and advertise a failure...
[ "`${.CURDIR}/src/etc/rc.php_test_run`" == "FCGI-PASSED PASSED" ]
clean:
git reset --hard HEAD && git clean -xdqf .
.PHONY: force