/usr/lib/neuron/bin/nrnoc_makefile is in neuron-dev 7.5-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | #
# This makefile has the rules necessary for making the custom version of nrnoc
# called "special" from various mod files. The variable "MODOBJFILES" should
# be set on the command line to list the .o files that are needed.
#
prefix = /usr
exec_prefix = /usr/lib/neuron
bindir = ${exec_prefix}/bin
sbindir = ${exec_prefix}/sbin
libexecdir = ${prefix}/lib/x86_64-linux-gnu
datadir = ${prefix}/share
sysconfdir = /etc
sharedstatedir = ${prefix}/com
localstatedir = /var
libdir = ${prefix}/lib/x86_64-linux-gnu
infodir = ${prefix}/share/info
mandir = ${prefix}/share/man
includedir = ${prefix}/include
pkgdatadir = $(datadir)/nrn
pkglibdir = $(libdir)/nrn
pkgincludedir = $(includedir)/nrn
libobjdir = $(libdir)
DEFS = -DHAVE_CONFIG_H
LDFLAGS = -Wl,-Bsymbolic-functions -Wl,-z,relro
LIBS = -lm -ldl
X_CFLAGS =
X_LIBS = -lX11
X_EXTRA_LIBS =
X_PRE_LIBS =
INCLUDES = -I. -I$(pkgincludedir) -I$(libdir)
LIBTOOL = $(pkgdatadir)/libtool
CC = mpicc
CFLAGS = -g -O2 -fdebug-prefix-map=/build/neuron-Ii8qHH/neuron-7.5=. -fstack-protector-strong -Wformat -Werror=format-security
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
NRNOCLIBS = -L$(libdir) $(libdir)/libnrnoc.la -loc -lmemacs \
-lscopmath -L/usr/lib/x86_64-linux-gnu/lib -lreadline -ltermcap \
$(X_PRE_LIBS) $(X_LIBS) $(X_EXTRA_LIBS)
NRNOCOBJS = $(libobjdir)/ocmain.o $(libobjdir)/nrnnoiv.o $(libobjdir)/ocnoiv.o
.SUFFIXES:
.SUFFIXES: .c .mod .o
#
# How to make a .o file from a .mod file. Note that we have to delete the
# .c file, or else make will get confused. We have to go directly from
# a .mod to a .o file because otherwise GNU make will try to use a rule
# involving m2c. Argh!! Why did they have to build in so many implicit
# rules?
#
#.mod.o:
# $(bindir)/nocmodl $* || (rm -f $*.c; exit 1)
# $(COMPILE) -c $*.c
# rm -f $*.c
#
# some experimentation gave promising results for the following.
# it remains to be seen how portable it is. It seems to work
# for gnu make and the /usr/ccs/bin/make distributed with solaris.
#%.o : %.mod
.mod.c:
$(bindir)/nocmodl $*
.c.o:
$(COMPILE) -c $*.c
.mod.o:
$(bindir)/nocmodl $*
$(COMPILE) -c $*.c
mod_func.o: mod_func.c
$(COMPILE) -c $<
special: $(MODOBJFILES) mod_func.o
$(LINK) -o special $(NRNOCOBJS) $(MODOBJFILES) mod_func.o $(NRNOCLIBS) $(LIBS)
|