4
Fork 0
CronosAgent/Makefile

69 lines
1.7 KiB
Makefile

BUILD := $(shell date -u +%Y%m%d-%H%M%S)
OS := $(shell uname -s)
PREFIX = $(DESTDIR)/opt/CronosAgent
TOOLKIT = ../..
DIRECTORIES = \
$(TOOLKIT)/Common \
$(TOOLKIT)/KAIROS
ifeq ($(OS), Linux)
LIBRARIES += \
rt
DEPENDENCIES = \
openssl
endif
ifeq ($(OS), Darwin)
CFLAGS += \
-Wno-deprecated-declarations \
-I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-migrator/sdk/MacOSX.sdk/usr/include/
LIBRARIES += \
crypto
endif
OBJECTS = \
CronosAgent.o
FLAGS := -g -fno-omit-frame-pointer -O3 -MMD $(foreach directory, $(DIRECTORIES), -I$(directory)) -DBUILD=\"$(BUILD)\"
LIBS := -lstdc++ $(foreach library, $(LIBRARIES), -l$(library))
CC = gcc
CFLAGS += $(FLAGS) -std=gnu99
ifeq ($(OS), Linux)
FLAGS += $(shell pkg-config --cflags $(DEPENDENCIES)) -rdynamic
LIBS += $(shell pkg-config --libs $(DEPENDENCIES))
endif
all: build
build: $(PREREQUISITES) $(OBJECTS)
$(CC) $(OBJECTS) $(FLAGS) $(LIBS) -o cronosagent
install:
install -D -d $(PREFIX)
install -o root -g root cronosagent $(PREFIX)
install -o root -g root cronosagent.sh $(PREFIX)
install -o root -g root cronosagent-init $(PREFIX)
install -m 644 -o root -g root Main/brandmeister-monit $(PREFIX)
install -m 644 -o root -g root Main/brandmeister.plist $(PREFIX)
install -m 644 -o root -g root Main/brandmeister.service $(PREFIX)
clean:
rm -f $(PREREQUISITES) $(OBJECTS) cronosagent
rm -f *.d $(TOOLKIT)/*/*.d
version:
echo "#define VERSION $(shell svn info | grep -E "^Revision:" | grep -o -E "[0-9]+")" > Version.h
debian-package:
./UpdateLog.sh
ifdef ARCH
dpkg-buildpackage -b -a$(ARCH) -tc
else
dpkg-buildpackage -b -tc
endif
.PHONY: all build clean install