shufflecake/dm-sflc/Makefile
2024-08-29 23:09:55 +02:00

48 lines
1.8 KiB
Makefile

#
# Copyright The Shufflecake Project Authors (2022)
# Copyright The Shufflecake Project Contributors (2022)
# Copyright Contributors to the The Shufflecake Project.
#
# See the AUTHORS file at the top-level directory of this distribution and at
# <https://www.shufflecake.net/permalinks/shufflecake-userland/AUTHORS>
#
# This file is part of the program shufflecake-c, which is part of the
# Shufflecake Project. Shufflecake is a plausible deniability (hidden storage)
# layer for Linux. See <https://www.shufflecake.net>.
#
# This program is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free
# Software Foundation, either version 2 of the License, or (at your option)
# any later version. This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details. You should have received a copy of the
# GNU General Public License along with this program.
# If not, see <https://www.gnu.org/licenses/>.
#
KERNEL_DIR = /lib/modules/$(shell uname -r)/build
ROOT_DIR:=$(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
default:
make -C $(KERNEL_DIR) M=$(ROOT_DIR)/bin CONFIG_SFLC_DEBUG=$(CONFIG_SFLC_DEBUG) modules
debug: CONFIG_SFLC_DEBUG=y
debug: default
install:
make -C $(KERNEL_DIR) M=$(ROOT_DIR)/bin CONFIG_SFLC_DEBUG=$(CONFIG_SFLC_DEBUG) modules_install
clean:
make -C $(KERNEL_DIR) M=$(ROOT_DIR)/bin CONFIG_SFLC_DEBUG=$(CONFIG_SFLC_DEBUG) clean
# Reserved
ORIGINALS = $(shell find src/ -type f)
SYMLINKS = $(patsubst src/%, bin/%, $(ORIGINALS))
symlinks: $(SYMLINKS)
bin/%: src/%
@mkdir -p "$(@D)"
ln -s $(shell realpath -m --relative-to=$(@D) $<) $@