Nstrophy/Makefile

69 lines
1.5 KiB
Makefile

# Copyright 2017-2023 Ian Jauslin
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
PROJECTNAME=nstrophy
VERSION=0.0
#DB= -ggdb
OPT= -O3
WARNINGS=-Wall -Wextra -Wno-strict-overflow -std=c99 -Wpedantic
PREFIX=/usr
BINDIR=$(PREFIX)/bin
MANDIR=$(PREFIX)/share/man/man1
CC=/usr/bin/gcc
LD=$(CC)
#INCLUDES =
#LIBDIRS =
LIBS = -lm -lfftw3 -lfftw3_threads -lopenblas_64
override LDFLAGS +=$(LIBDIRS)$(LIBS)
override CFLAGS +=$(INCLUDES)$(DB)
override CFLAGS +=$(OPT) $(WARNINGS)
BUILDDIR=./build
SRCDIR=./src
OBJS=$(patsubst %.c,%.o,$(wildcard $(SRCDIR)/*.c))
all: dist
$(PROJECTNAME): $(OBJS)
$(LD) -o $@ $^ $(LDFLAGS)
%.o: %.c
$(CC) -c $(CFLAGS) $< -o $@
dist: $(PROJECTNAME)
/bin/rm -rf $(BUILDDIR)
/bin/mkdir $(BUILDDIR)
/bin/cp $(PROJECTNAME) $(BUILDDIR)
@rm -f $(SRCDIR)/*.o
@rm -f $(PROJECTNAME)
install: dist
install -Dm755 $(BUILDDIR)/$(PROJECTNAME) $(BINDIR)/$(PROJECTNAME)
install -Dm644 man/$(PROJECTNAME).1.gz $(MANDIR)/$(PROJECTNAME).1.gz
clean:
@rm -f $(SRCDIR)/*.o
@rm -rf $(BUILDDIR)
@rm -f $(PROJECTNAME)