Compare commits

...

4 Commits

Author SHA1 Message Date
Sasha Koshka
5878a088d4 GNUmakefile: repair formatting 2023-12-24 21:30:05 -05:00
Sasha Koshka
60794652ab cc-compat.sh: list build/bin instead of build 2023-12-24 21:24:30 -05:00
Sasha Koshka
1de55cf32a GNUmakefile: add name 2023-12-24 21:22:05 -05:00
Sasha Koshka
7bfe0900ef GNUmakefile: new build dir structure, only install necessary files 2023-12-24 21:17:24 -05:00
2 changed files with 20 additions and 18 deletions

View File

@ -1,5 +1,6 @@
# Copyright (c) 2023 Emma Tebibyte <emma@tebibyte.media>
# Copyright (c) 2023 DTB <trinity@trinity.moe>
# Copyright (c) 2023 Sasha Koshka <sashakoshka@tebibyte.media>
# SPDX-License-Identifier: FSFAP
#
# Copying and distribution of this file, with or without modification, are
@ -15,33 +16,34 @@
PREFIX=/usr/local
CC=cc
CFLAGS=-O3 -Lbuild
CFLAGS=-O3 -Lbuild/lib
ifeq ($(CC), gcc)
CFLAGS=-O3 -s -Wl,-z,noseparate-code,-z,nosectionheader -flto -Lbuild
CFLAGS=-O3 -s -Wl,-z,noseparate-code,-z,nosectionheader -flto \
-Lbuild/lib
endif
ifeq ($(CC), clang)
CFLAGS=-O3 -Wall -Lbuild
CFLAGS=-O3 -Wall -Lbuild/lib
endif
ifeq ($(CC), tcc)
CFLAGS=-O3 -s -Wl -flto -Lbuild
CFLAGS=-O3 -s -Wl -flto -Lbuild/lib
endif
build: build_dir false intcmp scrut str strcmp true
build_dir:
mkdir -p build
mkdir -p build/o build/lib build/bin
clean:
rm -rf build/
install: build
mkdir -p $(PREFIX)/bin $(PREFIX)/lib $(PREFIX)/man/man1 $(PREFIX)/man/man3
cp -f build/*.o $(PREFIX)/lib/
cp -f build/*.so $(PREFIX)/lib/
cp -f build/* $(PREFIX)/bin/
mkdir -p $(PREFIX)/bin $(PREFIX)/lib
mkdir -p $(PREFIX)/man/man1 $(PREFIX)/man/man3
cp -f build/lib/*.so $(PREFIX)/lib/
cp -f build/bin/* $(PREFIX)/bin/
cp -f docs/*.1 $(PREFIX)/man/man1/
cp -f docs/*.3 $(PREFIX)/man/man3/
@ -50,24 +52,24 @@ test: build
tests/posix-compat.sh
false: src/false.c build_dir
$(CC) $(CFLAGS) -o build/false src/false.c
$(CC) $(CFLAGS) -o build/bin/false src/false.c
intcmp: src/intcmp.c build_dir
$(CC) $(CFLAGS) -o build/intcmp src/intcmp.c
$(CC) $(CFLAGS) -o build/bin/intcmp src/intcmp.c
scrut: src/scrut.c libfileis build_dir
$(CC) $(CFLAGS) -lfileis -o build/scrut src/scrut.c
$(CC) $(CFLAGS) -lfileis -o build/bin/scrut src/scrut.c
str: src/str.c build_dir
$(CC) $(CFLAGS) -o build/str src/str.c
$(CC) $(CFLAGS) -o build/bin/str src/str.c
strcmp: src/strcmp.c build_dir
$(CC) $(CFLAGS) -o build/strcmp src/strcmp.c
$(CC) $(CFLAGS) -o build/bin/strcmp src/strcmp.c
true: src/true.c build_dir
$(CC) $(CFLAGS) -o build/true src/true.c
$(CC) $(CFLAGS) -o build/bin/true src/true.c
libfileis: src/libfileis.c src/libfileis.h build_dir
$(CC) $(CFLAGS) -c -fPIC -o build/libfileis.o src/libfileis.c
$(CC) -shared -o build/libfileis.so build/libfileis.o
$(CC) $(CFLAGS) -c -fPIC -o build/o/libfileis.o src/libfileis.c
$(CC) -shared -o build/lib/libfileis.so build/o/libfileis.o

View File

@ -32,7 +32,7 @@ do
make CC="$CC" && printf '%s: Build successful.\n' "$0"
ls -lA build/
ls -lA build/bin
make clean
printf '\n'