Makefile revision 2d7e8507f5e77f2dc490708152058063edc313e5
e8838207238c3ffb22159e51deb37ec24ba89c76Till Mossakowski#
60c9fc413e77110e71b7e8c41ffbc645b4ed90b4Julian Kornberger# The contents of this file are subject to the terms of the Common Development and
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto Vale# Distribution License (the License). You may not use this file except in compliance with the
fb0fc9c7ffa0a722fec20358a243cc42af57a4fbhenning mueller# License.
5c4c13ac875d79def115ce3d8443d4ec87b3252aJulian Kornberger#
5c4c13ac875d79def115ce3d8443d4ec87b3252aJulian Kornberger# You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
5c4c13ac875d79def115ce3d8443d4ec87b3252aJulian Kornberger# specific language governing permission and limitations under the License.
5c4c13ac875d79def115ce3d8443d4ec87b3252aJulian Kornberger#
db7b1bfd41eb01238f00c7df022f4c11d6414e8cEugen Kuksa# When distributing Covered Software, include this CDDL Header Notice in each file and include
0af513ab5680818fba780f05ef7cf16e0c0cb0d8henning mueller# the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
827e98b08be3acd813ab859061f7e6318b7f8abdDaniel Couto Vale# Header, with the fields enclosed by brackets [] replaced by your own identifying
827e98b08be3acd813ab859061f7e6318b7f8abdDaniel Couto Vale# information: "Portions copyright [year] [name of copyright owner]".
827e98b08be3acd813ab859061f7e6318b7f8abdDaniel Couto Vale#
827e98b08be3acd813ab859061f7e6318b7f8abdDaniel Couto Vale# Copyright 2014 - 2015 ForgeRock AS.
827e98b08be3acd813ab859061f7e6318b7f8abdDaniel Couto Vale#
827e98b08be3acd813ab859061f7e6318b7f8abdDaniel Couto Vale
fb0fc9c7ffa0a722fec20358a243cc42af57a4fbhenning mueller# make options:
5c4c13ac875d79def115ce3d8443d4ec87b3252aJulian Kornberger# 64=1 builds 64bit binary
5c4c13ac875d79def115ce3d8443d4ec87b3252aJulian Kornberger# DEBUG=1 builds debug binary version
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto Vale
268e4c0f7fc6630f88604079ab4ede1b8963ec6aSascha Graef64=1
1d405fd1ac68b72d526b1637cb34d507ae24c56ahenning muellerDEBUG=1
1d405fd1ac68b72d526b1637cb34d507ae24c56ahenning mueller
1d405fd1ac68b72d526b1637cb34d507ae24c56ahenning muellerVERSION := 4.0.0-SNAPSHOT
1d405fd1ac68b72d526b1637cb34d507ae24c56ahenning mueller
1d405fd1ac68b72d526b1637cb34d507ae24c56ahenning muellerifneq ("$(PROGRAMFILES)$(ProgramFiles)","")
1d405fd1ac68b72d526b1637cb34d507ae24c56ahenning mueller OS_ARCH := Windows
1d405fd1ac68b72d526b1637cb34d507ae24c56ahenning mueller RMALL := cmd /c del /F /Q
0af513ab5680818fba780f05ef7cf16e0c0cb0d8henning mueller RMDIR := cmd /c rmdir /S /Q
f492e3654fb1476c90a63dcaec31ad174c6c4915Sascha Graef SED := cmd /c sed.exe
0af513ab5680818fba780f05ef7cf16e0c0cb0d8henning mueller ECHO := cmd /c echo
0af513ab5680818fba780f05ef7cf16e0c0cb0d8henning mueller MKDIR := cmd /c mkdir
0af513ab5680818fba780f05ef7cf16e0c0cb0d8henning mueller CP := cmd /c copy /Y
0af513ab5680818fba780f05ef7cf16e0c0cb0d8henning mueller CD := cd
0af513ab5680818fba780f05ef7cf16e0c0cb0d8henning mueller EXEC :=
0af513ab5680818fba780f05ef7cf16e0c0cb0d8henning mueller REVISION := $(shell svn info . | findstr "Revision:")
0af513ab5680818fba780f05ef7cf16e0c0cb0d8henning mueller BUILD_MACHINE := $(shell hostname)
0af513ab5680818fba780f05ef7cf16e0c0cb0d8henning mueller IDENT_DATE := $(shell powershell get-date -format "{dd.MM.yyyy}")
382ec34953d9d1397c3843bd070c4ca327b85b1eTim Reddehase PATHSEP=\\
fd1ba5089163d3398ebcdca8487de1ca8f07c47chenning mueller SUB=/
fd1ba5089163d3398ebcdca8487de1ca8f07c47chenning mueller COMPILEFLAG=/
fd1ba5089163d3398ebcdca8487de1ca8f07c47chenning mueller COMPILEOPTS=/Fd$@.pdb /Fo$(dir $@)
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto Vale OBJ=obj
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto Valeelse
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto Vale OS_ARCH := $(shell uname -s)
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto Vale OS_MARCH := $(shell uname -m)
46dd7ca898be6d5dbdfda64fd90ce01e253c0878Julian Kornberger RMALL := rm -fr
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto Vale RMDIR := $(RMALL)
46dd7ca898be6d5dbdfda64fd90ce01e253c0878Julian Kornberger SED := sed
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto Vale ECHO := echo
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto Vale MKDIR := mkdir -p
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto Vale CP := cp
60c9fc413e77110e71b7e8c41ffbc645b4ed90b4Julian Kornberger CD := cd
fe90e1e1ecaa3e8916cdb1bac8cadb8daf9631c3henning mueller EXEC := ./
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto Vale REVISION := $(shell svn info . | grep Revision:)
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto Vale BUILD_MACHINE := $(shell hostname)
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto Vale IDENT_DATE := $(shell date +'%d.%m.%y')
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto Vale PATHSEP=/
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto Vale SUB=%
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto Vale COMPILEFLAG=-
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto Vale COMPILEOPTS=-c -o $@
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto Vale OBJ=o
3a976e419d5306aef3a2ae39e74f9729a729d3cahenning muellerendif
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto Vale
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto Valeifdef 64
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto Vale OS_BITS := _64bit
184bb45b6cb62422583b634cc27d04fc2ba0e0f6Eugen Kuksaelse
184bb45b6cb62422583b634cc27d04fc2ba0e0f6Eugen Kuksa OS_BITS :=
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto Valeendif
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto Vale
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto ValePS=$(strip $(PATHSEP))
fb0fc9c7ffa0a722fec20358a243cc42af57a4fbhenning mueller
fe90e1e1ecaa3e8916cdb1bac8cadb8daf9631c3henning muellerCFLAGS := $(COMPILEFLAG)I.$(PS)source $(COMPILEFLAG)I.$(PS)zlib $(COMPILEFLAG)I.$(PS)expat $(COMPILEFLAG)I.$(PS)pcre \
60c9fc413e77110e71b7e8c41ffbc645b4ed90b4Julian Kornberger $(COMPILEFLAG)DHAVE_EXPAT_CONFIG_H $(COMPILEFLAG)DHAVE_PCRE_CONFIG_H
60c9fc413e77110e71b7e8c41ffbc645b4ed90b4Julian KornbergerOBJDIR := build
60c9fc413e77110e71b7e8c41ffbc645b4ed90b4Julian Kornberger
60c9fc413e77110e71b7e8c41ffbc645b4ed90b4Julian KornbergerAPACHE_SOURCES := source/apache/agent.c
60c9fc413e77110e71b7e8c41ffbc645b4ed90b4Julian KornbergerAPACHE22_SOURCES := source/apache/agent22.c
827e98b08be3acd813ab859061f7e6318b7f8abdDaniel Couto ValeIIS_SOURCES := source/iis/agent.c
60c9fc413e77110e71b7e8c41ffbc645b4ed90b4Julian KornbergerVARNISH_SOURCES := source/varnish/agent.c
60c9fc413e77110e71b7e8c41ffbc645b4ed90b4Julian KornbergerADMIN_SOURCES := source/admin.c source/admin_iis.c
60c9fc413e77110e71b7e8c41ffbc645b4ed90b4Julian KornbergerSOURCES := $(filter-out $(ADMIN_SOURCES), $(wildcard source/*.c)) $(wildcard expat/*.c) $(wildcard pcre/*.c) $(wildcard zlib/*.c)
6ccbbaf26068a589a0954998a9398f450f49aa15Julian KornbergerOBJECTS := $(SOURCES:.c=.$(OBJ))
6ccbbaf26068a589a0954998a9398f450f49aa15Julian KornbergerOUT_OBJS := $(addprefix $(OBJDIR)/,$(OBJECTS))
6ccbbaf26068a589a0954998a9398f450f49aa15Julian KornbergerADMIN_OBJECTS := $(ADMIN_SOURCES:.c=.$(OBJ))
fb0fc9c7ffa0a722fec20358a243cc42af57a4fbhenning muellerADMIN_OUT_OBJS := $(addprefix $(OBJDIR)/,$(ADMIN_OBJECTS))
fb0fc9c7ffa0a722fec20358a243cc42af57a4fbhenning muellerAPACHE_OBJECTS := $(APACHE_SOURCES:.c=.$(OBJ))
60c9fc413e77110e71b7e8c41ffbc645b4ed90b4Julian KornbergerAPACHE22_OBJECTS := $(APACHE22_SOURCES:.c=.$(OBJ))
60c9fc413e77110e71b7e8c41ffbc645b4ed90b4Julian KornbergerAPACHE_OUT_OBJS := $(addprefix $(OBJDIR)/,$(APACHE_OBJECTS))
88d63c94a94060017febcabb0862b11ed3685f6aDaniel Couto ValeAPACHE22_OUT_OBJS := $(addprefix $(OBJDIR)/,$(APACHE22_OBJECTS))
60c9fc413e77110e71b7e8c41ffbc645b4ed90b4Julian KornbergerIIS_OBJECTS := $(IIS_SOURCES:.c=.$(OBJ))
60c9fc413e77110e71b7e8c41ffbc645b4ed90b4Julian KornbergerIIS_OUT_OBJS := $(addprefix $(OBJDIR)/,$(IIS_OBJECTS))
60c9fc413e77110e71b7e8c41ffbc645b4ed90b4Julian KornbergerVARNISH_OBJECTS := $(VARNISH_SOURCES:.c=.$(OBJ))
60c9fc413e77110e71b7e8c41ffbc645b4ed90b4Julian KornbergerVARNISH_OUT_OBJS := $(addprefix $(OBJDIR)/,$(VARNISH_OBJECTS))
60c9fc413e77110e71b7e8c41ffbc645b4ed90b4Julian Kornberger
60c9fc413e77110e71b7e8c41ffbc645b4ed90b4Julian Kornberger$(APACHE_OUT_OBJS): CFLAGS += $(COMPILEFLAG)Iextlib/$(OS_ARCH)/apache24/include $(COMPILEFLAG)Iextlib/$(OS_ARCH)_$(OS_MARCH)/apache24/include -DAPACHE2 -DAPACHE24
60c9fc413e77110e71b7e8c41ffbc645b4ed90b4Julian Kornberger$(VARNISH_OUT_OBJS): CFLAGS += $(COMPILEFLAG)Iextlib/$(OS_ARCH)/varnish/include
60c9fc413e77110e71b7e8c41ffbc645b4ed90b4Julian Kornberger$(APACHE22_OUT_OBJS): CFLAGS += $(COMPILEFLAG)Iextlib/$(OS_ARCH)/apache22/include $(COMPILEFLAG)Iextlib/$(OS_ARCH)_$(OS_MARCH)/apache22/include -DAPACHE2
60c9fc413e77110e71b7e8c41ffbc645b4ed90b4Julian Kornberger
60c9fc413e77110e71b7e8c41ffbc645b4ed90b4Julian Kornbergerifeq ($(OS_ARCH), Linux)
a5db3b43f2fd314675b09ec7c90cfb4a1cc2bf5ehenning mueller include Makefile.linux.mk
a5db3b43f2fd314675b09ec7c90cfb4a1cc2bf5ehenning muellerendif
4bfcb11b6f9d77842a4ea6e06671e252468d5bf6henning muellerifeq ($(OS_ARCH), SunOS)
4bfcb11b6f9d77842a4ea6e06671e252468d5bf6henning mueller include Makefile.solaris.mk
4bfcb11b6f9d77842a4ea6e06671e252468d5bf6henning muellerendif
4bfcb11b6f9d77842a4ea6e06671e252468d5bf6henning muellerifeq ($(OS_ARCH), AIX)
4bfcb11b6f9d77842a4ea6e06671e252468d5bf6henning mueller include Makefile.aix.mk
4bfcb11b6f9d77842a4ea6e06671e252468d5bf6henning muellerendif
4bfcb11b6f9d77842a4ea6e06671e252468d5bf6henning muellerifeq ($(OS_ARCH), Darwin)
4bfcb11b6f9d77842a4ea6e06671e252468d5bf6henning mueller include Makefile.macos.mk
4bfcb11b6f9d77842a4ea6e06671e252468d5bf6henning muellerendif
a5db3b43f2fd314675b09ec7c90cfb4a1cc2bf5ehenning muellerifeq ($(OS_ARCH), Windows)
a5db3b43f2fd314675b09ec7c90cfb4a1cc2bf5ehenning mueller include Makefile.windows.mk
a5db3b43f2fd314675b09ec7c90cfb4a1cc2bf5ehenning muellerendif
a5db3b43f2fd314675b09ec7c90cfb4a1cc2bf5ehenning mueller
a5db3b43f2fd314675b09ec7c90cfb4a1cc2bf5ehenning mueller$(OBJDIR)/%.$(OBJ): %.c
a5db3b43f2fd314675b09ec7c90cfb4a1cc2bf5ehenning mueller @$(ECHO) "[*** Compiling "$<" ***]"
a5db3b43f2fd314675b09ec7c90cfb4a1cc2bf5ehenning mueller $(CC) $(CFLAGS) $< $(COMPILEOPTS)
60c9fc413e77110e71b7e8c41ffbc645b4ed90b4Julian Kornberger
60c9fc413e77110e71b7e8c41ffbc645b4ed90b4Julian Kornberger.DEFAULT_GOAL := all
all: apachezip
build:
$(MKDIR) $(OBJDIR)$(PS)expat
$(MKDIR) $(OBJDIR)$(PS)pcre
$(MKDIR) $(OBJDIR)$(PS)zlib
$(MKDIR) $(OBJDIR)$(PS)source$(PS)apache
$(MKDIR) $(OBJDIR)$(PS)source$(PS)iis
$(MKDIR) $(OBJDIR)$(PS)source$(PS)varnish
version:
@$(ECHO) "[***** Updating version.h *****]"
-$(RMALL) source$(PS)version.h
$(SED) -e "s$(SUB)_REVISION_$(SUB)$(REVISION)$(SUB)g" \
-e "s$(SUB)_IDENT_DATE_$(SUB)$(IDENT_DATE)$(SUB)g" \
-e "s$(SUB)_BUILD_MACHINE_$(SUB)$(BUILD_MACHINE)$(SUB)g" \
-e "s$(SUB)_VERSION_$(SUB)$(VERSION)$(SUB)g" < source$(PS)version.template > source$(PS)version.h
clean:
-$(RMDIR) $(OBJDIR)
-$(RMDIR) log
-$(RMALL) source$(PS)version.h
apachezip: clean build version apache agentadmin
@$(ECHO) "[***** Building Apache 2.4 agent archive *****]"
-$(MKDIR) $(OBJDIR)$(PS)web_agents
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)apache24_agent
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)apache24_agent$(PS)bin
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)apache24_agent$(PS)lib
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)apache24_agent$(PS)legal
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)apache24_agent$(PS)instances
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)apache24_agent$(PS)log
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)apache24_agent$(PS)config
-$(CP) $(OBJDIR)$(PS)agentadmin* $(OBJDIR)$(PS)web_agents$(PS)apache24_agent$(PS)bin$(PS)
-$(CP) $(OBJDIR)$(PS)mod_openam.so $(OBJDIR)$(PS)web_agents$(PS)apache24_agent$(PS)lib$(PS)
-$(CP) $(OBJDIR)$(PS)mod_openam.dll $(OBJDIR)$(PS)web_agents$(PS)apache24_agent$(PS)lib$(PS)
-$(CP) $(OBJDIR)$(PS)mod_openam.pdb $(OBJDIR)$(PS)web_agents$(PS)apache24_agent$(PS)lib$(PS)
-$(CP) config$(PS)* $(OBJDIR)$(PS)web_agents$(PS)apache24_agent$(PS)config$(PS)
-$(CP) legal$(PS)* $(OBJDIR)$(PS)web_agents$(PS)apache24_agent$(PS)legal$(PS)
$(CD) $(OBJDIR) && $(EXEC)agentadmin --a Apache_v24_$(OS_ARCH)$(OS_BITS)_$(VERSION).zip web_agents
apache22_pre:
-$(CP) source$(PS)apache$(PS)agent.c source$(PS)apache$(PS)agent22.c
apache22_post:
-$(RMALL) source$(PS)apache$(PS)agent22.c
apache22zip: clean build version apache22 agentadmin
@$(ECHO) "[***** Building Apache 2.2 agent archive *****]"
-$(MKDIR) $(OBJDIR)$(PS)web_agents
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)apache22_agent
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)apache22_agent$(PS)bin
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)apache22_agent$(PS)lib
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)apache22_agent$(PS)legal
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)apache22_agent$(PS)instances
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)apache22_agent$(PS)log
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)apache22_agent$(PS)config
-$(CP) $(OBJDIR)$(PS)agentadmin* $(OBJDIR)$(PS)web_agents$(PS)apache22_agent$(PS)bin$(PS)
-$(CP) $(OBJDIR)$(PS)mod_openam.so $(OBJDIR)$(PS)web_agents$(PS)apache22_agent$(PS)lib$(PS)
-$(CP) $(OBJDIR)$(PS)mod_openam.dll $(OBJDIR)$(PS)web_agents$(PS)apache22_agent$(PS)lib$(PS)
-$(CP) $(OBJDIR)$(PS)mod_openam.pdb $(OBJDIR)$(PS)web_agents$(PS)apache22_agent$(PS)lib$(PS)
-$(CP) config$(PS)* $(OBJDIR)$(PS)web_agents$(PS)apache22_agent$(PS)config$(PS)
-$(CP) legal$(PS)* $(OBJDIR)$(PS)web_agents$(PS)apache22_agent$(PS)legal$(PS)
$(CD) $(OBJDIR) && $(EXEC)agentadmin --a Apache_v22_$(OS_ARCH)$(OS_BITS)_$(VERSION).zip web_agents
iiszip: clean build version iis agentadmin
@$(ECHO) "[***** Building IIS agent archive *****]"
-$(MKDIR) $(OBJDIR)$(PS)web_agents
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)iis_agent
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)iis_agent$(PS)bin
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)iis_agent$(PS)lib
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)iis_agent$(PS)legal
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)iis_agent$(PS)instances
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)iis_agent$(PS)log
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)iis_agent$(PS)config
-$(CP) $(OBJDIR)$(PS)agentadmin* $(OBJDIR)$(PS)web_agents$(PS)iis_agent$(PS)bin$(PS)
-$(CP) $(OBJDIR)$(PS)mod_iis_openam.dll $(OBJDIR)$(PS)web_agents$(PS)iis_agent$(PS)lib$(PS)
-$(CP) $(OBJDIR)$(PS)mod_iis_openam.pdb $(OBJDIR)$(PS)web_agents$(PS)iis_agent$(PS)lib$(PS)
-$(CP) config$(PS)* $(OBJDIR)$(PS)web_agents$(PS)iis_agent$(PS)config$(PS)
-$(CP) legal$(PS)* $(OBJDIR)$(PS)web_agents$(PS)iis_agent$(PS)legal$(PS)
$(CD) $(OBJDIR) && $(EXEC)agentadmin --a IIS_$(OS_ARCH)$(OS_BITS)_$(VERSION).zip web_agents
varnishzip: clean build version varnish agentadmin
@$(ECHO) "[***** Building Varnish agent archive *****]"
-$(MKDIR) $(OBJDIR)$(PS)web_agents
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)varnish_agent
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)varnish_agent$(PS)bin
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)varnish_agent$(PS)lib
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)varnish_agent$(PS)legal
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)varnish_agent$(PS)instances
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)varnish_agent$(PS)log
-$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)varnish_agent$(PS)config
-$(CP) $(OBJDIR)$(PS)agentadmin* $(OBJDIR)$(PS)web_agents$(PS)varnish_agent$(PS)bin$(PS)
-$(CP) $(OBJDIR)$(PS)vmod_openam.so $(OBJDIR)$(PS)web_agents$(PS)varnish_agent$(PS)lib$(PS)
-$(CP) config$(PS)* $(OBJDIR)$(PS)web_agents$(PS)varnish_agent$(PS)config$(PS)
-$(CP) legal$(PS)* $(OBJDIR)$(PS)web_agents$(PS)varnish_agent$(PS)legal$(PS)
$(CD) $(OBJDIR) && $(EXEC)agentadmin --a Varnish_v4_$(OS_ARCH)$(OS_BITS)_$(VERSION).zip web_agents