100 lines
2.3 KiB
Makefile
100 lines
2.3 KiB
Makefile
SHARED_LIBRARY := libappman.so
|
|
VAPI_FILE := appman.vapi
|
|
HEADER_FILE := appman.h
|
|
|
|
RCKTL_INSTALL_LIB_DIR := /usr/lib/rapidlauncher
|
|
BUILD_DIR := build
|
|
DIR_SOURCES := src
|
|
|
|
PACKAGES := gobject-2.0
|
|
PACKAGES += glib-2.0
|
|
PACKAGES += gio-2.0
|
|
PACKAGES += x11
|
|
PACKAGES += gtk+-3.0
|
|
|
|
GEN_FLAGS := $(addprefix --pkg ,$(PACKAGES))
|
|
GEN_FLAGS += --target-glib=2.32
|
|
GEN_FLAGS += --ccode
|
|
GEN_FLAGS += --header="$(BUILD_DIR)/$(HEADER_FILE)"
|
|
GEN_FLAGS += --vapi="$(BUILD_DIR)/$(VAPI_FILE)"
|
|
|
|
CC_FLAGS := -w
|
|
CC_FLAGS += -fPIC
|
|
CC_FLAGS += -shared
|
|
CC_FLAGS += $(shell pkg-config --cflags $(PACKAGES))
|
|
CC_FLAGS += -I$(BUILD_DIR)
|
|
|
|
LD_FLAGS := -fPIC
|
|
LD_FLAGS += -shared
|
|
LD_FLAGS += $(shell pkg-config --libs $(PACKAGES))
|
|
|
|
SOURCES := $(wildcard $(DIR_SOURCES)/*.vala)
|
|
|
|
OBJECTS := ${SOURCES:.vala=.o}
|
|
VAPIFILES := ${SOURCES:.vala=.vapi}
|
|
|
|
|
|
ifndef BUILD_DIR
|
|
$(error variable BUILD_DIR is not set)
|
|
endif
|
|
|
|
ifndef RCKTL_INSTALL_LIB_DIR
|
|
$(error variable RCKTL_INSTALL_LIB_DIR is not set)
|
|
endif
|
|
|
|
ifdef RCKTL_BUILD_DEBUG
|
|
GEN_FLAGS += --debug
|
|
CC_FLAGS += --debug
|
|
endif
|
|
|
|
ifdef RCKTL_BUILD_RELEASE
|
|
CC_FLAGS += -O3
|
|
endif
|
|
|
|
|
|
.SECONDARY:
|
|
@#
|
|
|
|
.PHONY: all clean install uninstall
|
|
@#
|
|
|
|
|
|
all: $(SOURCES) $(CFILES) $(BUILD_DIR)/$(SHARED_LIBRARY) $(BUILD_DIR)/$(VAPI_FILE) $(BUILD_DIR)/$(HEADER_FILE)
|
|
@#
|
|
|
|
clean:
|
|
rm -f ${SOURCES:.vala=.c}
|
|
rm -f ${SOURCES:.vala=.h}
|
|
rm -f ${SOURCES:.vala=.o}
|
|
rm -f ${SOURCES:.vala=.vapi}
|
|
rm -f "$(BUILD_DIR)/$(VAPI_FILE)"
|
|
rm -f "$(BUILD_DIR)/$(HEADER_FILE)"
|
|
rm -f "$(BUILD_DIR)/$(SHARED_LIBRARY)"
|
|
|
|
install:
|
|
install -D "$(BUILD_DIR)/$(SHARED_LIBRARY)" "$(DESTDIR)$(RCKTL_INSTALL_LIB_DIR)/$(SHARED_LIBRARY)"
|
|
|
|
uninstall:
|
|
rm -f "$(DESTDIR)$(RCKTL_INSTALL_LIB_DIR)/$(SHARED_LIBRARY)"
|
|
|
|
|
|
%.vapi: %.vala
|
|
@echo " GEN $(notdir $@)"
|
|
@valac --fast-vapi="$@" $<
|
|
|
|
MISSINGVAPIFILES=$(subst $(subst .c,.vapi,$@),,$(VAPIFILES))
|
|
$(BUILD_DIR)/$(HEADER_FILE):
|
|
$(BUILD_DIR)/$(VAPI_FILE):
|
|
%.c: $(MISSINGVAPIFILES) %.vala
|
|
@echo " GEN $(notdir $@)"
|
|
@valac $(GEN_FLAGS) $(addprefix --use-fast-vapi=,$(MISSINGVAPIFILES)) "$(subst .c,.vala,$@)"
|
|
|
|
%.o: %.c
|
|
@echo " CC $(notdir $@)"
|
|
@$(CC) $(CC_FLAGS) -c $< -o $@
|
|
|
|
$(BUILD_DIR)/$(SHARED_LIBRARY): $(OBJECTS)
|
|
@echo " LD $(notdir $@)"
|
|
@$(CC) $(OBJECTS) $(LD_FLAGS) -o "$(BUILD_DIR)/$(SHARED_LIBRARY)"
|
|
|