forked from brmlab/brmelect-github
2025 version
This commit is contained in:
parent
1d1468d87f
commit
ee4de955de
13 changed files with 2025 additions and 0 deletions
95
src/Makefile
Normal file
95
src/Makefile
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
#
|
||||
# Makefile
|
||||
#
|
||||
# Building the project.
|
||||
#
|
||||
# ISC License
|
||||
#
|
||||
# Copyright 2023 Brmlab, z.s.
|
||||
# Dominik Pantůček <dominik.pantucek@trustica.cz>
|
||||
# Copyright 2025 Brmlab, z.s.
|
||||
# TMA
|
||||
#
|
||||
# Permission to use, copy, modify, and/or distribute this software
|
||||
# for any purpose with or without fee is hereby granted, provided
|
||||
# that the above copyright notice and this permission notice appear
|
||||
# in all copies.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
|
||||
# WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
|
||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
|
||||
# AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
|
||||
# OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
|
||||
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
||||
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
|
||||
BRMELECT-BIN = ../brmelect.pl
|
||||
.PHONY: default
|
||||
default: imports
|
||||
|
||||
.PHONY: static
|
||||
static: $(BRMELECT-BIN)
|
||||
|
||||
# Uses local repository first, then system. Be sure to run
|
||||
# install-eggs.sh in the parent directory first!
|
||||
SCRP=$(shell chicken-install -repository)
|
||||
CSC=CHICKEN_REPOSITORY_PATH=../eggs:$(SCRP) csc
|
||||
|
||||
BRMELECT-DEPS=brmelect.scm webgate-utils.import.scm webgate-core.import.scm
|
||||
brmelect.scm.X = -X at-expr-on.scm
|
||||
|
||||
BRMELECT-OBJS=brmelect.o webgate-core.o webgate-utils.o
|
||||
|
||||
.PHONY: imports
|
||||
imports: $(BRMELECT-DEPS)
|
||||
|
||||
$(BRMELECT-BIN): $(BRMELECT-OBJS)
|
||||
$(CSC) -L --no-lto -L -Wl,-static -L -Wl,-lsqlite3 -L -Wl,-Bdynamic -strip -static -o $@ $(BRMELECT-OBJS)
|
||||
chmod u+s $@
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -f *.c *.link *.o *.import.scm $(BRMELECT-BIN)
|
||||
|
||||
.PHONY: install
|
||||
install: static
|
||||
#install -m 0755 -d /usr/local/bin
|
||||
#install -m 0755 $(BRMELECT-BIN) /usr/local/bin/
|
||||
#install -m 0755 -d /usr/local/man/man1
|
||||
#install -m 0755 ../doc/brmelect.1 /usr/local/man/man1/brmelect.1
|
||||
|
||||
.PHONY: install-dev
|
||||
install-dev: static
|
||||
#install -m 0755 -d /usr/local/bin
|
||||
#install -m 0755 $(BRMELECT-BIN) /usr/local/bin/brmelect-dev
|
||||
#install -m 0755 -d /usr/local/man/man1
|
||||
#install -m 0755 ../doc/brmelect.1 /usr/local/man/man1/brmelect-dev.1
|
||||
|
||||
################################################################
|
||||
# Module static and shared object and import source compilation
|
||||
|
||||
%.o: %.scm
|
||||
$(CSC) $($<.X) -c -static $<
|
||||
|
||||
%.import.scm: %.scm
|
||||
$(CSC) $($<.X) -regenerate-import-libraries -P -J $<
|
||||
|
||||
################################################################
|
||||
# Main programs
|
||||
|
||||
brmelect.o: $(BRMELECT-DEPS)
|
||||
|
||||
################################################################
|
||||
# Modules
|
||||
|
||||
WEBGATE-CORE-SOURCES=webgate-core.scm
|
||||
|
||||
webgate-core.o: webgate-core.import.scm
|
||||
webgate-core.import.scm: $(WEBGATE-CORE-SOURCES)
|
||||
|
||||
WEBGATE-UTILS-SOURCES=webgate-utils.scm
|
||||
|
||||
webgate-utils.o: webgate-utils.import.scm
|
||||
webgate-utils.import.scm: $(WEBGATE-UTILS-SOURCES)
|
||||
Loading…
Add table
Add a link
Reference in a new issue