overgrown/Makefile

41 lines
938 B
Makefile

# Copyright (c) 2023 Emma Tebibyte
# SPDX-License-Identifier: FSFAP
#
# Copying and distribution of this file, with or without modification, are
# permitted in any medium without royalty provided the copyright notice and this
# notice are preserved. This file is offered as-is, without any warranty.
.POSIX:
PREFIX=/usr/local
CFLAGS=-O3 -s -Wl,-z,noseparate-code,-z,nosectionheader -flto -Lbuild -lyac
build: build_dir lib cat false tail true
clean: build_dir
rm -rf build/
cat: build_dir
cc $(CFLAGS) -o build/cat src/cat.c
false: build_dir
cc $(CFLAGS) -o build/false src/false.c
tail: build_dir
cc $(CFLAGS) -o build/tail src/tail.c
true: build_dir
cc $(CFLAGS) -o build/true src/true.c
lib:
cc -c -fPIC $(CFLAGS) -o build/yac.o src/yac.c
cc $(CFLAGS) -shared -o build/libyac.so build/yac.o
build_dir:
mkdir -p build
install: build
mkdir -p $(PREFIX)
cp -f build/*.so $(PREFIX)/lib/
cp -f build/* $(PREFIX)/bin/