half-edge/src/test/Makefile

53 lines
1.3 KiB
Makefile

# compiler, tools
CC = clang
PKG_CONFIG ?= pkg-config
# flags
CFLAGS ?= -march=native -O2 -pipe
CFLAGS += -std=c99 -pedantic -Wall -Wextra -Werror -Wno-unused-variable -Wno-unused-parameter -Wno-unused-function
ifeq ($(shell $(CC) -v 2>&1 | grep 'gcc version' &>/dev/null && echo 1),1)
CFLAGS += -Wno-unused-but-set-variable
endif
LDFLAGS ?= -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu
ifndef NODEBUG
CFLAGS += -O0 -g3
endif
TARGET = test
HEADERS = cunit.h
OBJECTS = cunit.o cunit_filereader.o cunit_half_edge.o cunit_vector.o
INCS = -I. -I..
CFLAGS += $(shell $(PKG_CONFIG) --cflags gl glu glib-2.0)
LIBS = $(shell $(PKG_CONFIG) --libs gl glu glib-2.0) -lglut -lm -lcunit
CPPFLAGS += -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED -D_GNU_SOURCE
# install variables
INSTALL = install
INSTALL_BIN = install -m755
INSTALL_DIR = install -d
PREFIX = /usr/local
LIBDIR = lib64
INSTALL_BINDIR = $(PREFIX)/bin
INSTALL_LIBDIR = $(PREFIX)/$(LIBDIR)
%.o: %.c
$(CC) $(CFLAGS) $(CPPFLAGS) $(INCS) -c $*.c
all: $(TARGET)
drow-engine.a:
$(MAKE) -C .. $@
$(TARGET): $(HEADERS) $(OBJECTS)
$(CC) $(CFLAGS) $(CPPFLAGS) $(INCS) -o ../../$(TARGET) \
$(OBJECTS) ../drow-engine.a $(LDFLAGS) $(LIBS)
clean:
rm -f *.o $(TARGET) core vgcore*
.PHONY: all clean drow-engine.a install uninstall