You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

103 lines
3.1 KiB

1 year ago
# detect target architecture
!IF "$(CPU)" == ""
CPU=$(PROCESSOR_ARCHITECTURE)
!ENDIF
!IF "$(CPU)" == "i386" || "$(CPU)" == "x86"
TARGETDIR = ..\..\..\bin\win32\dev
ADD_LFLAGS = /MACHINE:X86
!ELSEIF "$(CPU)" == "AMD64"
TARGETDIR = ..\..\..\bin\win64\dev
ADD_LFLAGS = /MACHINE:X64
!ELSE
!ERROR Unsupported CPU architecture: $(CPU)
!ENDIF
PROJECTNAME = zabbix_sender
PROJECTDIR = ..\..\..\src\$(PROJECTNAME)
TARGETNAME = zabbix_sender
TARGETEXT = dll
PROGNAME = $(TARGETDIR)\$(TARGETNAME).$(TARGETEXT)
ADD_CFLAGS = $(ADD_CFLAGS) /D NDEBUG /D ZBX_EXPORT /Fd$(TARGETNAME).$(TARGETEXT).pdb
ADD_LFLAGS = $(ADD_LFLAGS) /DLL
PREBUILD = pre-build
POSTBUILD = post-build
POSTCLEAN = post-clean
ADD_CFLAGS = $(ADD_CFLAGS) /D NDEBUG
ADD_RFLAGS = /d "ZABBIX_SENDER"
!INCLUDE Makefile_common.inc
# the main object file must be already added in master Makefile
OBJS = \
..\..\..\src\libs\zbxnum\num.o \
..\..\..\src\libs\zbxcrypto\endian.o \
..\..\..\src\libs\zbxip\ip.o \
..\..\..\src\libs\zbxip\iprange.o \
..\..\..\src\libs\zbxcommon\misc.o \
..\..\..\src\libs\zbxstr\str.o \
..\..\..\src\libs\zbxcommon\common_str.o \
..\..\..\src\libs\zbxcommon\common_log.o \
..\..\..\src\libs\zbxparam\param.o \
..\..\..\src\libs\zbxcommon\components_strings_representations.o \
..\..\..\src\libs\zbxcommon\libc_wrappers.o \
..\..\..\src\libs\zbxtime\time.o \
..\..\..\src\libs\zbxexpr\expr.o \
..\..\..\src\libs\zbxexpr\function.o \
..\..\..\src\libs\zbxexpr\host.o \
..\..\..\src\libs\zbxexpr\macro.o \
..\..\..\src\libs\zbxexpr\token.o \
..\..\..\src\libs\zbxcommshigh\commshigh.o \
..\..\..\src\libs\zbxcomms\comms.o \
..\..\..\src\libs\zbxcompress\compress.o \
..\..\..\src\libs\zbxconf\cfg.o \
..\..\..\src\libs\zbxcrypto\base64.o \
..\..\..\src\libs\zbxgetopt\getopt.o \
..\..\..\src\libs\zbxhash\md5.o \
..\..\..\src\libs\zbxhash\zbxhash.o \
..\..\..\src\libs\zbxjson\json.o \
..\..\..\src\libs\zbxjson\json_parser.o \
..\..\..\src\libs\zbxjson\jsonpath.o \
..\..\..\src\libs\zbxjson\jsonobj.o \
..\..\..\src\libs\zbxlog\log.o \
..\..\..\src\libs\zbxmutexs\mutexs.o \
..\..\..\src\libs\zbxthreads\threads.o \
..\..\..\src\libs\zbxvariant\variant.o \
..\..\..\src\libs\zbxwin32\fatal.o \
..\..\..\src\libs\zbxalgo\algodefs.o \
..\..\..\src\libs\zbxalgo\vector.o \
..\..\..\src\libs\zbxalgo\hashset.o \
..\..\..\src\libs\zbxregexp\zbxregexp.o \
..\..\..\src\libs\zbxversion\version.o \
..\..\..\src\libs\zbxxml\xml.o \
..\..\..\src\zabbix_sender\win32\zabbix_sender.o
LIBS = ws2_32.lib psapi.lib pdh.lib Wldap32.lib advapi32.lib uuid.lib Iphlpapi.lib shlwapi.lib
!INCLUDE Makefile_pcre.inc
!INCLUDE Makefile_targets.inc
# zabbix_sender dynamic link library support
{$(PROJECTDIR)/win32}.c{$(PROJECTDIR)/win32}.o:
$(CC) $? /Fo"$@" $(CFLAGS)
$(TARGETDIR)\zabbix_sender.h: $(PROJECTDIR)\win32\zabbix_sender.h
@copy /Y $(PROJECTDIR)\win32\zabbix_sender.h $(TARGETDIR)\
pre-build:
!IF "$(TLS)" != ""
@echo Cannot build zabbix_sender.dll with TLS support.
@exit /b 9
!ENDIF
post-build: $(TARGETDIR)\zabbix_sender.h
@del /Q $(TARGETDIR)\zabbix_sender.exp 2>NUL
post-clean:
@del /Q $(TARGETDIR)\zabbix_sender.h 2>NUL
@del /Q $(TARGETDIR)\zabbix_sender.lib 2>NUL