2014-01-28 01:21:47 +04:00
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
2014-06-12 01:19:52 +04:00
BUILDENV := dev
2014-12-28 21:40:10 +03:00
i f e q ( $( OS ) , w i n d o w s )
# on windows, the version is year.month.date
BUILDREV := $( shell date +%y) .$( shell date +%m) .$( shell date +%d)
BINSUFFIX := ".exe"
e l s e
# on *nix, the version is yearmonthdate+lastcommit.env
BUILDREV := $( shell date +%Y%m%d) +$( shell git log --pretty= format:'%h' -n 1) .$( BUILDENV)
BINSUFFIX := ""
e n d i f
2014-01-28 01:21:47 +04:00
2014-07-30 21:09:43 +04:00
# Supported OSes: linux darwin windows
2014-01-28 01:21:47 +04:00
# Supported ARCHes: 386 amd64
2014-12-28 21:40:10 +03:00
OS := $( shell uname -s| tr '[:upper:]' '[:lower:]' )
2014-01-28 01:21:47 +04:00
ARCH := amd64
2014-06-16 23:50:09 +04:00
i f e q ( $( ARCH ) , a m d 6 4 )
FPMARCH := x86_64
e n d i f
i f e q ( $( ARCH ) , 3 8 6 )
2014-08-21 17:10:59 +04:00
FPMARCH := i386
2014-06-16 23:50:09 +04:00
e n d i f
2014-12-28 21:40:10 +03:00
2014-01-28 01:21:47 +04:00
PREFIX := /usr/local/
DESTDIR := /
BINDIR := bin/$( OS) /$( ARCH)
2015-03-16 17:49:50 +03:00
AGTCONF := conf/mig-agent-conf.go.inc
2014-11-24 20:50:50 +03:00
AVAILMODS := conf/available_modules.go
2014-12-28 21:40:10 +03:00
MSICONF := mig-agent-installer.wxs
2014-01-28 01:21:47 +04:00
2014-06-12 01:19:52 +04:00
GCC := gcc
2014-01-28 01:21:47 +04:00
CFLAGS :=
LDFLAGS :=
2015-05-11 19:41:02 +03:00
GOOPTS :=
2015-03-15 16:25:55 +03:00
GO := GOPATH = $( shell pwd ) :$( shell go env GOROOT) /bin GOOS = $( OS) GOARCH = $( ARCH) go
2014-07-30 21:09:43 +04:00
GOGETTER := GOPATH = $( shell pwd ) GOOS = $( OS) GOARCH = $( ARCH) go get -u
2015-05-11 00:18:09 +03:00
GOTEST := GOPATH = $( shell pwd ) GOOS = $( OS) GOARCH = $( ARCH) go test
2014-01-28 01:21:47 +04:00
GOLDFLAGS := -ldflags " -X main.version $( BUILDREV) "
GOCFLAGS :=
MKDIR := mkdir
INSTALL := install
2014-04-17 22:05:59 +04:00
2015-05-22 05:01:12 +03:00
all : go_get_deps all -but -deps
all-but-deps : test mig -agent mig -scheduler mig -api mig -cmd mig -console mig -action -generator mig -action -verifier worker -agent -intel worker -compliance -item
2014-01-28 01:21:47 +04:00
2014-01-29 09:07:51 +04:00
mig-agent :
2014-04-25 20:53:41 +04:00
echo building mig-agent for $( OS) /$( ARCH)
2014-02-05 20:10:23 +04:00
if [ ! -r $( AGTCONF) ] ; then echo " $( AGTCONF) configuration file is missing " ; exit 1; fi
cp $( AGTCONF) src/mig/agent/configuration.go
2014-11-24 20:50:50 +03:00
if [ ! -r $( AVAILMODS) ] ; then echo " $( AGTCONF) configuration file is missing " ; exit 1; fi
cp $( AVAILMODS) src/mig/agent/available_modules.go
2014-01-28 01:21:47 +04:00
$( MKDIR) -p $( BINDIR)
2014-07-30 21:09:43 +04:00
$( GO) build $( GOOPTS) -o $( BINDIR) /mig-agent-$( BUILDREV) $( BINSUFFIX) $( GOLDFLAGS) mig/agent
2014-08-13 20:25:30 +04:00
ln -fs " $$ (pwd)/ $( BINDIR) /mig-agent- $( BUILDREV) $( BINSUFFIX) " " $$ (pwd)/ $( BINDIR) /mig-agent-latest "
2014-07-30 21:09:43 +04:00
[ -x " $( BINDIR) /mig-agent- $( BUILDREV) $( BINSUFFIX) " ] && echo SUCCESS && exit 0
2014-06-14 22:15:12 +04:00
mig-scheduler :
2014-01-28 01:21:47 +04:00
$( MKDIR) -p $( BINDIR)
2014-01-29 09:07:51 +04:00
$( GO) build $( GOOPTS) -o $( BINDIR) /mig-scheduler $( GOLDFLAGS) mig/scheduler
2014-01-28 01:21:47 +04:00
2014-02-11 21:06:20 +04:00
mig-api :
$( MKDIR) -p $( BINDIR)
$( GO) build $( GOOPTS) -o $( BINDIR) /mig-api $( GOLDFLAGS) mig/api
2014-06-14 22:15:12 +04:00
mig-action-generator :
2014-01-28 01:21:47 +04:00
$( MKDIR) -p $( BINDIR)
2014-11-03 21:35:50 +03:00
$( GO) build $( GOOPTS) -o $( BINDIR) /mig-action-generator $( GOLDFLAGS) mig/client/generator
2014-01-28 01:21:47 +04:00
2014-09-04 04:52:29 +04:00
filechecker-convert :
$( MKDIR) -p $( BINDIR)
$( GO) build $( GOOPTS) -o $( BINDIR) /filechecker-convertv1tov2 $( GOLDFLAGS) mig/modules/filechecker/convert
2014-06-14 22:15:12 +04:00
mig-action-verifier :
2014-02-19 00:33:25 +04:00
$( MKDIR) -p $( BINDIR)
2014-11-03 21:35:50 +03:00
$( GO) build $( GOOPTS) -o $( BINDIR) /mig-action-verifier $( GOLDFLAGS) mig/client/verifier
2014-02-19 00:33:25 +04:00
2014-06-18 07:39:07 +04:00
mig-console :
2014-11-24 20:50:50 +03:00
if [ ! -r $( AVAILMODS) ] ; then echo " $( AGTCONF) configuration file is missing " ; exit 1; fi
cp $( AVAILMODS) src/mig/client/console/available_modules.go
2014-06-18 07:39:07 +04:00
$( MKDIR) -p $( BINDIR)
2014-11-03 21:35:50 +03:00
$( GO) build $( GOOPTS) -o $( BINDIR) /mig-console $( GOLDFLAGS) mig/client/console
2014-06-18 07:39:07 +04:00
2014-11-07 17:38:18 +03:00
mig-cmd :
2014-11-24 20:50:50 +03:00
if [ ! -r $( AVAILMODS) ] ; then echo " $( AGTCONF) configuration file is missing " ; exit 1; fi
cp $( AVAILMODS) src/mig/client/cmd/available_modules.go
2014-11-07 17:38:18 +03:00
$( MKDIR) -p $( BINDIR)
2014-11-30 21:41:54 +03:00
$( GO) build $( GOOPTS) -o $( BINDIR) /mig-$( OS) $( ARCH) $( GOLDFLAGS) mig/client/cmd
ln -fs " $$ (pwd)/ $( BINDIR) /mig- $( OS) $( ARCH) " " $$ (pwd)/ $( BINDIR) /mig "
2014-11-07 17:38:18 +03:00
2015-04-07 22:54:03 +03:00
mig-agent-search :
2014-11-08 00:20:05 +03:00
$( MKDIR) -p $( BINDIR)
2015-04-07 22:54:03 +03:00
$( GO) build $( GOOPTS) -o $( BINDIR) /mig-agent-search $( GOLDFLAGS) mig/client/agent-search
2014-11-08 00:20:05 +03:00
2015-01-02 22:13:18 +03:00
go_get_common_deps :
2014-01-28 01:21:47 +04:00
$( GOGETTER) code.google.com/p/go.crypto/openpgp
2015-01-02 22:13:18 +03:00
$( GOGETTER) code.google.com/p/gcfg
2015-05-01 18:37:45 +03:00
go_get_agent_deps : go_get_common_deps go_get_ping_deps go_get_memory_deps
2014-09-11 23:31:38 +04:00
$( GOGETTER) code.google.com/p/go.crypto/sha3
2014-01-28 01:21:47 +04:00
$( GOGETTER) github.com/streadway/amqp
2015-02-23 19:10:57 +03:00
$( GOGETTER) github.com/kardianos/osext
2014-12-22 05:45:31 +03:00
$( GOGETTER) github.com/jvehent/service-go
2015-03-24 00:50:18 +03:00
$( GOGETTER) camlistore.org/pkg/misc/gpgagent
$( GOGETTER) camlistore.org/pkg/misc/pinentry
2015-05-10 19:10:32 +03:00
$( GOGETTER) github.com/mozilla/mozoval/go/src/oval
2014-07-30 21:09:43 +04:00
i f e q ( $( OS ) , w i n d o w s )
$( GOGETTER) code.google.com/p/winsvc/eventlog
e n d i f
2015-01-02 22:13:18 +03:00
2015-02-23 22:35:14 +03:00
go_get_ping_deps :
$( GOGETTER) golang.org/x/net/icmp
$( GOGETTER) golang.org/x/net/ipv4
$( GOGETTER) golang.org/x/net/ipv6
2015-05-01 18:37:45 +03:00
go_get_memory_deps :
$( GOGETTER) github.com/mozilla/masche/process
$( GOGETTER) github.com/mozilla/masche/listlibs
$( GOGETTER) github.com/mozilla/masche/memsearch
2015-01-02 22:13:18 +03:00
go_get_platform_deps : go_get_common_deps
$( GOGETTER) github.com/streadway/amqp
2015-03-14 00:04:57 +03:00
$( GOGETTER) github.com/jvehent/gozdef
2015-01-02 22:13:18 +03:00
$( GOGETTER) github.com/lib/pq
$( GOGETTER) github.com/howeyc/fsnotify
$( GOGETTER) github.com/gorilla/mux
$( GOGETTER) github.com/jvehent/cljs
$( GOGETTER) camlistore.org/pkg/misc/gpgagent
$( GOGETTER) camlistore.org/pkg/misc/pinentry
2015-03-23 18:11:31 +03:00
$( GOGETTER) github.com/oschwald/geoip2-golang
2015-01-02 22:13:18 +03:00
go_get_client_deps : go_get_common_deps
2015-01-03 10:02:55 +03:00
$( GOGETTER) github.com/jvehent/cljs
2015-01-02 22:13:18 +03:00
$( GOGETTER) camlistore.org/pkg/misc/gpgagent
$( GOGETTER) camlistore.org/pkg/misc/pinentry
2014-09-19 18:41:03 +04:00
i f e q ( $( OS ) , d a r w i n )
2015-05-12 00:23:27 +03:00
@echo $( GOGETTER) github.com/bobappleyard/readline
@if ! $( GOGETTER) github.com/bobappleyard/readline; then \
echo 'make sure that you have readline installed via {port,brew} install readline' ; \
exit 1; \
fi
2014-09-11 23:31:38 +04:00
e n d i f
2014-12-28 21:40:10 +03:00
i f e q ( $( OS ) , l i n u x )
2015-05-12 00:23:27 +03:00
@echo $( GOGETTER) github.com/bobappleyard/readline
@if ! $( GOGETTER) github.com/bobappleyard/readline; then \
echo 'make sure that you have readline installed via:' ; \
echo '* yum install readline-devel' ; \
echo '* apt-get install libreadline-dev' ; \
exit 1; \
fi
2014-12-28 21:40:10 +03:00
e n d i f
2014-01-28 01:21:47 +04:00
2015-01-02 22:13:18 +03:00
go_get_deps : go_get_common_deps go_get_agent_deps go_get_platform_deps go_get_client_deps
go_get_deps_into_system :
make GOGETTER = "go get -u" go_get_deps
2014-06-14 22:15:12 +04:00
install : mig -agent mig -scheduler
2014-01-31 05:03:49 +04:00
$( INSTALL) -D -m 0755 $( BINDIR) /mig-agent $( DESTDIR) $( PREFIX) /sbin/mig-agent
$( INSTALL) -D -m 0755 $( BINDIR) /mig-scheduler $( DESTDIR) $( PREFIX) /sbin/mig-scheduler
$( INSTALL) -D -m 0755 $( BINDIR) /mig_action-generator $( DESTDIR) $( PREFIX) /bin/mig_action-generator
$( INSTALL) -D -m 0640 mig.cfg $( DESTDIR) $( PREFIX) /etc/mig/mig.cfg
2014-01-31 04:50:52 +04:00
$( MKDIR) -p $( DESTDIR) $( PREFIX) /var/cache/mig
2014-01-28 01:21:47 +04:00
2014-12-26 22:44:18 +03:00
rpm : rpm -agent rpm -scheduler
2014-01-31 05:03:49 +04:00
rpm-agent : mig -agent
# Bonus FPM options
# --rpm-digest sha512 --rpm-sign
rm -fr tmp
2014-12-26 22:49:42 +03:00
$( INSTALL) -D -m 0755 $( BINDIR) /mig-agent-$( BUILDREV) tmp/sbin/mig-agent-$( BUILDREV)
2014-12-29 21:22:55 +03:00
$( MKDIR) -p tmp/var/lib/mig
2014-07-31 01:08:48 +04:00
make agent-install-script
2014-12-26 22:44:18 +03:00
make agent-remove-script
2014-01-31 05:03:49 +04:00
fpm -C tmp -n mig-agent --license GPL --vendor mozilla --description "Mozilla InvestiGator Agent" \
2014-12-26 22:44:18 +03:00
-m "Mozilla OpSec" --url http://mig.mozilla.org --architecture $( FPMARCH) -v $( BUILDREV) \
2014-12-28 02:33:07 +03:00
--after-remove tmp/agent_remove.sh --after-install tmp/agent_install.sh \
2014-12-26 22:44:18 +03:00
-s dir -t rpm .
2014-01-31 05:03:49 +04:00
2014-04-17 22:05:59 +04:00
deb-agent : mig -agent
rm -fr tmp
2014-12-26 22:44:18 +03:00
$( INSTALL) -D -m 0755 $( BINDIR) /mig-agent-$( BUILDREV) tmp/sbin/mig-agent-$( BUILDREV)
2014-12-29 21:22:55 +03:00
$( MKDIR) -p tmp/var/lib/mig
2014-07-31 01:08:48 +04:00
make agent-install-script
2014-12-26 22:44:18 +03:00
make agent-remove-script
2014-04-17 22:05:59 +04:00
fpm -C tmp -n mig-agent --license GPL --vendor mozilla --description "Mozilla InvestiGator Agent" \
2014-12-26 22:44:18 +03:00
-m "Mozilla OpSec" --url http://mig.mozilla.org --architecture $( FPMARCH) -v $( BUILDREV) \
2014-12-28 02:33:07 +03:00
--after-remove tmp/agent_remove.sh --after-install tmp/agent_install.sh \
2014-12-26 22:44:18 +03:00
-s dir -t deb .
2014-04-17 22:05:59 +04:00
2014-12-29 22:06:08 +03:00
dmg-agent : mig -agent
2014-12-28 21:40:10 +03:00
i f n e q ( $( OS ) , d a r w i n )
2014-12-29 22:06:08 +03:00
echo 'you must be on MacOS and set OS=darwin on the make command line to build an OSX package'
2014-12-28 21:40:10 +03:00
e l s e
2015-04-02 15:49:23 +03:00
rm -fr tmp tmpdmg
2014-12-29 22:06:08 +03:00
mkdir 'tmp' 'tmp/sbin' 'tmpdmg'
2014-12-26 22:44:18 +03:00
$( INSTALL) -m 0755 $( BINDIR) /mig-agent-$( BUILDREV) tmp/sbin/mig-agent-$( BUILDREV)
2014-12-29 22:06:08 +03:00
$( MKDIR) -p 'tmp/Library/Preferences/mig/'
2014-07-31 01:08:48 +04:00
make agent-install-script
2014-12-26 22:44:18 +03:00
make agent-remove-script
2014-06-20 02:02:21 +04:00
fpm -C tmp -n mig-agent --license GPL --vendor mozilla --description "Mozilla InvestiGator Agent" \
2014-12-26 22:44:18 +03:00
-m "Mozilla OpSec" --url http://mig.mozilla.org --architecture $( FPMARCH) -v $( BUILDREV) \
2014-12-26 23:36:25 +03:00
--after-install tmp/agent_install.sh \
2014-12-29 22:06:08 +03:00
-s dir -t osxpkg --osxpkg-identifier-prefix org.mozilla.mig -p tmpdmg/mig-agent-$( BUILDREV) -$( FPMARCH) .pkg .
hdiutil makehybrid -hfs -hfs-volume-name "Mozilla InvestiGator Agent" \
-o ./mig-agent-$( BUILDREV) -$( FPMARCH) .dmg tmpdmg
2014-12-28 21:40:10 +03:00
e n d i f
2014-06-20 02:02:21 +04:00
2014-07-31 01:08:48 +04:00
agent-install-script :
2014-12-28 01:12:53 +03:00
echo '#!/bin/sh' > tmp/agent_install.sh
echo 'chmod 500 /sbin/mig-agent-$(BUILDREV)' >> tmp/agent_install.sh
echo 'chown root:root /sbin/mig-agent-$(BUILDREV)' >> tmp/agent_install.sh
echo 'rm /sbin/mig-agent; ln -s /sbin/mig-agent-$(BUILDREV) /sbin/mig-agent' >> tmp/agent_install.sh
2014-07-31 01:08:48 +04:00
chmod 0755 tmp/agent_install.sh
2014-12-26 22:44:18 +03:00
agent-remove-script :
2014-12-28 02:33:07 +03:00
echo '#!/bin/sh' > tmp/agent_remove.sh
echo 'for f in "/etc/cron.d/mig-agent" "/etc/init/mig-agent.conf" "/etc/init.d/mig-agent" "/etc/systemd/system/mig-agent.service"; do' >> tmp/agent_remove.sh
echo ' [ -e "$$f" ] && rm -f "$$f"' >> tmp/agent_remove.sh
echo 'done' >> tmp/agent_remove.sh
2015-01-22 21:27:10 +03:00
echo 'echo mig-agent removed but not killed if running' >> tmp/agent_remove.sh
2014-12-26 22:44:18 +03:00
chmod 0755 tmp/agent_remove.sh
2014-12-28 21:40:10 +03:00
msi-agent : mig -agent
i f n e q ( $( OS ) , w i n d o w s )
echo 'you must set OS=windows on the make command line to compile a MSI package'
e l s e
rm -fr tmp
mkdir 'tmp'
$( INSTALL) -m 0755 $( BINDIR) /mig-agent-$( BUILDREV) .exe tmp/mig-agent-$( BUILDREV) .exe
cp conf/$( MSICONF) tmp/
sed -i " s/REPLACE_WITH_MIG_AGENT_VERSION/ $( BUILDREV) / " tmp/$( MSICONF)
wixl tmp/mig-agent-installer.wxs
cp tmp/mig-agent-installer.msi mig-agent-$( BUILDREV) .msi
e n d i f
2015-04-02 17:33:08 +03:00
package-linux-clients : go_get_client_deps rpm -clients deb -clients
2015-03-18 16:04:40 +03:00
rpm-clients : mig -cmd mig -console mig -action -generator
# --rpm-sign requires installing package `rpm-sign` and configuring this macros in ~/.rpmmacros
# %_signature gpg
# %_gpg_name Julien Vehent
rm -fr tmp
mkdir 'tmp'
$( INSTALL) -D -m 0755 $( BINDIR) /mig tmp/usr/local/bin/mig
$( INSTALL) -D -m 0755 $( BINDIR) /mig-console tmp/usr/local/bin/mig-console
$( INSTALL) -D -m 0755 $( BINDIR) /mig-action-generator tmp/usr/local/bin/mig-action-generator
fpm -C tmp -n mig-clients --license GPL --vendor mozilla --description "Mozilla InvestiGator Clients" \
-m "Mozilla OpSec" --url http://mig.mozilla.org --architecture $( FPMARCH) -v $( BUILDREV) \
--rpm-digest sha512 --rpm-sign \
-s dir -t rpm .
deb-clients : mig -cmd mig -console mig -action -generator
rm -fr tmp
$( INSTALL) -D -m 0755 $( BINDIR) /mig tmp/usr/local/bin/mig
$( INSTALL) -D -m 0755 $( BINDIR) /mig-console tmp/usr/local/bin/mig-console
$( INSTALL) -D -m 0755 $( BINDIR) /mig-action-generator tmp/usr/local/bin/mig-action-generator
fpm -C tmp -n mig-clients --license GPL --vendor mozilla --description "Mozilla InvestiGator Clients" \
-m "Mozilla OpSec" --url http://mig.mozilla.org --architecture $( FPMARCH) -v $( BUILDREV) \
-s dir -t deb .
# require dpkg-sig, it's a perl script, take it from any debian box and copy it in your PATH
dpkg-sig -k E60892BB9BD89A69F759A1A0A3D652173B763E8F --sign jvehent -m "Julien Vehent" mig-clients_$( BUILDREV) _$( ARCH) .deb
2015-04-02 17:33:08 +03:00
dmg-clients : go_get_client_deps mig -cmd mig -console mig -action -generator
2015-03-18 16:04:40 +03:00
i f n e q ( $( OS ) , d a r w i n )
echo 'you must be on MacOS and set OS=darwin on the make command line to build an OSX package'
e l s e
rm -fr tmp tmpdmg
mkdir -p tmp/usr/local/bin tmpdmg
$( INSTALL) -m 0755 $( BINDIR) /mig tmp/usr/local/bin/mig
$( INSTALL) -m 0755 $( BINDIR) /mig-console tmp/usr/local/bin/mig-console
$( INSTALL) -m 0755 $( BINDIR) /mig-action-generator tmp/usr/local/bin/mig-action-generator
fpm -C tmp -n mig-clients --license GPL --vendor mozilla --description "Mozilla InvestiGator Clients" \
-m "Mozilla OpSec" --url http://mig.mozilla.org --architecture $( FPMARCH) -v $( BUILDREV) \
-s dir -t osxpkg --osxpkg-identifier-prefix org.mozilla.mig -p tmpdmg/mig-clients-$( BUILDREV) -$( FPMARCH) .pkg .
hdiutil makehybrid -hfs -hfs-volume-name "Mozilla InvestiGator Clients" \
-o ./mig-clients-$( BUILDREV) -$( FPMARCH) .dmg tmpdmg
e n d i f
2015-05-14 17:21:43 +03:00
deb-server : go_get_platform_deps mig -scheduler mig -api worker -agent -intel worker -compliance -item
2014-01-31 05:03:49 +04:00
rm -rf tmp
2015-05-14 17:21:43 +03:00
# add binaries
$( INSTALL) -D -m 0755 $( BINDIR) /mig-scheduler tmp/opt/mig/bin/mig-scheduler
$( INSTALL) -D -m 0755 $( BINDIR) /mig-api tmp/opt/mig/bin/mig-api
$( INSTALL) -D -m 0755 $( BINDIR) /mig-agent-intel-worker tmp/opt/mig/bin//mig-agent-intel-worker
$( INSTALL) -D -m 0755 $( BINDIR) /mig-compliance-item-worker tmp/opt/mig/bin/mig-compliance-item-worker
$( INSTALL) -D -m 0755 tools/list_new_agents.sh tmp/opt/mig/bin/list_new_agents.sh
# add configuration templates
$( INSTALL) -D -m 0640 conf/scheduler.cfg.inc tmp/etc/mig/scheduler.cfg
$( INSTALL) -D -m 0640 conf/api.cfg.inc tmp/etc/mig/api.cfg
$( INSTALL) -D -m 0640 conf/agent-intel-worker.cfg.inc tmp/etc/mig/agent-intel-worker.cfg
$( INSTALL) -D -m 0640 conf/compliance-item-worker.cfg.inc tmp/etc/mig/compliance-item-worker.cfg
# add upstart configs
$( INSTALL) -D -m 0640 conf/upstart/mig-scheduler.conf tmp/etc/init/mig-scheduler.conf
$( INSTALL) -D -m 0640 conf/upstart/mig-api.conf tmp/etc/init/mig-api.conf
$( INSTALL) -D -m 0640 conf/upstart/mig-compliance-item-worker.conf tmp/etc/init/mig-compliance-item-worker.conf
$( INSTALL) -D -m 0640 conf/upstart/mig-agent-intel-worker.conf tmp/etc/init/mig-agent-intel-worker.conf
2014-01-31 05:03:49 +04:00
$( MKDIR) -p tmp/var/cache/mig
2015-05-14 17:21:43 +03:00
fpm -C tmp -n mig-server --license GPL --vendor mozilla --description "Mozilla InvestiGator Server" \
-m "Mozilla OpSec" --url http://mig.mozilla.org --architecture $( FPMARCH) -v $( BUILDREV) -s dir -t deb .
2014-01-31 05:03:49 +04:00
2015-02-11 06:09:57 +03:00
worker-agent-verif :
$( MKDIR) -p $( BINDIR)
$( GO) build $( GOOPTS) -o $( BINDIR) /mig_agent_verif_worker $( GOLDFLAGS) mig/workers/agent_verif
2015-05-02 01:48:06 +03:00
worker-agent-intel :
2015-02-11 06:09:57 +03:00
$( MKDIR) -p $( BINDIR)
2015-05-14 17:21:43 +03:00
$( GO) build $( GOOPTS) -o $( BINDIR) /mig-agent-intel-worker $( GOLDFLAGS) mig/workers/agent_intel
2015-02-11 06:09:57 +03:00
2015-03-14 00:04:57 +03:00
worker-compliance-item :
$( MKDIR) -p $( BINDIR)
2015-05-14 17:21:43 +03:00
$( GO) build $( GOOPTS) -o $( BINDIR) /mig-compliance-item-worker $( GOLDFLAGS) mig/workers/compliance_item
2015-03-14 00:04:57 +03:00
2015-01-13 18:11:00 +03:00
doc :
make -C doc doc
2015-05-11 00:18:09 +03:00
test : test -modules
2015-05-08 21:34:32 +03:00
#$(GO) test mig/...
2014-01-28 01:21:47 +04:00
2015-05-08 00:21:43 +03:00
test-modules :
2015-05-11 00:18:09 +03:00
# test all modules
$( GOTEST) mig/modules...
2015-05-08 21:34:32 +03:00
2014-08-18 19:30:34 +04:00
clean-agent :
find bin/ -name mig-agent* -exec rm { } \;
rm -rf packages
rm -rf tmp
2015-05-07 23:14:15 +03:00
vet :
$( GO) vet mig/...
2014-08-28 22:30:48 +04:00
clean : clean -agent
rm -rf bin
rm -rf tmp
find src/ -maxdepth 1 -mindepth 1 ! -name mig -exec rm -rf { } \;
2015-07-21 22:48:31 +03:00
.PHONY : clean clean -agent doc go_get_deps_into_system agent -install -script agent -remove -script