##-*- Mode: GNUmakefile -*-
TARGETS ?= \
cofgen
CC = g++
LD = $(CC)
OFLAGS ?= -O2
#OFLAGS ?= -ggdb -O0
CFLAGS ?= -Wall -D_FILE_OFFSET_BITS=64 $(OFLAGS) -fopenmp
CXXFLAGS ?= $(CFLAGS)
LDFLAGS ?= $(CFLAGS)
LIBS ?=
all: $(TARGETS)
##-- dependencies
dcdb-cof-gen.o: dcdb-cof-gen.cc cof-gen.h utils.h
dcdb-cof-compile32.o: dcdb-cof-compile.cc cof-compile.h utils.h
dcdb-cof-compile64.o: dcdb-cof-compile.cc cof-compile.h utils.h
##-- patterns
.SUFFIXES: .cc .o
dcdb-cof-compile32.o:
g++ $(CXXFLAGS) -DDIACOLLO_COF2BIN_BITS=32 -c $< -o $@
dcdb-cof-compile64.o:
g++ $(CXXFLAGS) -DDIACOLLO_COF2BIN_BITS=64 -c $< -o $@
.cc.o:
g++ $(CXXFLAGS) -c $< -o $@
##-- final targets
dcdb-cof-gen: dcdb-cof-gen.o
$(LD) $(LDFLAGS) -o $@ $^ $(LIBS)
dcdb-cof-compile32: dcdb-cof-compile32.o
$(LD) $(LDFLAGS) -o $@ $^ $(LIBS)
dcdb-cof-compile64: dcdb-cof-compile64.o
$(LD) $(LDFLAGS) -o $@ $^ $(LIBS)
##-- clean
.PHONY: clean
clean:
rm -f *.o $(TARGETS)