| 1 |
# ASCEND lib Directory Makefile |
| 2 |
# Makefile for building dynamically loaded binary relations and other misc |
| 3 |
# things where we assume there is no source tree available and no |
| 4 |
# Makefile.Rules or ConfigAscend. |
| 5 |
# Mark Thomas |
| 6 |
# March 18, 1997 |
| 7 |
# $Date: 1998/06/18 18:45:42 $ |
| 8 |
# $Revision: 1.10 $ |
| 9 |
# $Author: mthomas $ |
| 10 |
# $Source: /afs/cs.cmu.edu/project/ascend/Repository/ascend4/lib/Makefile.in,v $ |
| 11 |
# |
| 12 |
|
| 13 |
|
| 14 |
SHELL = /bin/sh |
| 15 |
builddir = .. |
| 16 |
srcdir = @fullpathsrcdir@/../generic/lib |
| 17 |
VPATH := @fullpathsrcdir@/../generic/lib |
| 18 |
|
| 19 |
|
| 20 |
|
| 21 |
# The next variables are the primary executables and/or libraries that |
| 22 |
# this makefile is responsible for, and the default target of this |
| 23 |
# makefile. |
| 24 |
|
| 25 |
EXECUTABLE = |
| 26 |
|
| 27 |
LIBRARY = none |
| 28 |
|
| 29 |
|
| 30 |
default: btprolog.h Makefile.bt |
| 31 |
|
| 32 |
|
| 33 |
|
| 34 |
# Defines and Includes that are specific to this directory |
| 35 |
|
| 36 |
DIR_SPECIFIC_DEFS = |
| 37 |
DIR_SPECIFIC_INCS = |
| 38 |
|
| 39 |
|
| 40 |
|
| 41 |
# The next variables list the source files (EXEC_SCRS) to compile |
| 42 |
# into the object files (EXEC_OBJS) that are linked with the |
| 43 |
# library files (EXEC_LIBS) to make EXECUTABLE |
| 44 |
|
| 45 |
EXEC_SRCS = |
| 46 |
|
| 47 |
EXEC_OBJS = |
| 48 |
|
| 49 |
EXEC_LIBS = |
| 50 |
|
| 51 |
|
| 52 |
|
| 53 |
# The next variables list the source files (LIB_SCRS) to compile |
| 54 |
# into the object files (LIB_OBJS) that are combined to make LIBRARY |
| 55 |
|
| 56 |
LIB_SRCS = |
| 57 |
|
| 58 |
LIB_OBJS = |
| 59 |
|
| 60 |
|
| 61 |
|
| 62 |
# The global makefile macros (ConfigAscend) and global rules (Makefile.Rules) |
| 63 |
# |
| 64 |
include $(builddir)/ConfigAscend |
| 65 |
include $(builddir)/Makefile.Rules |
| 66 |
|
| 67 |
|
| 68 |
|
| 69 |
# File specific rules |
| 70 |
|
| 71 |
# Copy the bintoken header file from the compiler directory |
| 72 |
|
| 73 |
ascConfig.h: $(srcdir)/../utilities/ascConfig.h |
| 74 |
$(CP) $^ $@ |
| 75 |
|
| 76 |
%.h: $(srcdir)/../compiler/%.h |
| 77 |
$(CP) $^ $@ |
| 78 |
|
| 79 |
# Build a Makfile suitable for installing |
| 80 |
|
| 81 |
Makefile.bt: Makefile ../ConfigAscend |
| 82 |
$(RM) $@ |
| 83 |
@$(ECHO) '# Makefile for ASCEND bin-tokens' >$@ |
| 84 |
@$(ECHO) '#' >>$@ |
| 85 |
@$(ECHO) '# This makefile is generated by ASCENDs make install' >>$@ |
| 86 |
@$(ECHO) '# It is used by the ASCEND compiler to build a shared' >>$@ |
| 87 |
@$(ECHO) '# object that is loaded into ASCEND' >>$@ |
| 88 |
@$(ECHO) '' >>$@ |
| 89 |
@$(ECHO) '# default C compiler.' >>$@ |
| 90 |
@$(ECHO) 'CC = $(CC)' >>$@ |
| 91 |
@$(ECHO) '' >>$@ |
| 92 |
@$(ECHO) '# unix, at least' >>$@ |
| 93 |
@$(ECHO) 'CP = $(CP)' >>$@ |
| 94 |
@$(ECHO) '' >>$@ |
| 95 |
@$(ECHO) '# caller is assumed to pass to make on the command line' >>$@ |
| 96 |
@$(ECHO) '#-RM=/bin/rm (or some equivalent file deletion command)' >>$@ |
| 97 |
@$(ECHO) '#-BTINCLUDES=(the absolute path of this directory)' >>$@ |
| 98 |
@$(ECHO) '' >>$@ |
| 99 |
@$(ECHO) '# Flags to pass to the C compiler when compiling' >>$@ |
| 100 |
@$(ECHO) '# the components of a shared library' >>$@ |
| 101 |
@$(ECHO) 'SHLIB_CFLAGS = $(SHLIB_CFLAGS)' >>$@ |
| 102 |
@$(ECHO) '' >>$@ |
| 103 |
@$(ECHO) '# Base command to use to combine object files into' >>$@ |
| 104 |
@$(ECHO) '# a shared library' >>$@ |
| 105 |
@$(ECHO) 'SHLIB_LD = $(SHLIB_LD)' >>$@ |
| 106 |
@$(ECHO) '' >>$@ |
| 107 |
@$(ECHO) '# Dependent libraries for the linker to scan when' >>$@ |
| 108 |
@$(ECHO) '# creating a shared library' >>$@ |
| 109 |
@$(ECHO) 'SHLIB_LD_LIBS = $(SHLIB_LD_LIBS)' >>$@ |
| 110 |
@$(ECHO) '' >>$@ |
| 111 |
@$(ECHO) '# Suffix to use for the names of dynamically' >>$@ |
| 112 |
@$(ECHO) '# loadable objects' >>$@ |
| 113 |
@$(ECHO) 'SHLIB_SUFFIX = $(SHLIB_SUFFIX)' >>$@ |
| 114 |
@$(ECHO) '' >>$@ |
| 115 |
$(SED) -ne '/^###START_COPY_ME/,/^###END_COPY_ME/p' Makefile >>$@ |
| 116 |
|
| 117 |
|
| 118 |
# The following is the target to make the dynamically loadable object |
| 119 |
# and the required flags. When we ``make install'' everything |
| 120 |
# between the START_COPY_ME and END_COPY_ME lines will be put into |
| 121 |
# the generated Makefile |
| 122 |
|
| 123 |
# Do not edit the next line --- it is special |
| 124 |
###START_COPY_ME |
| 125 |
|
| 126 |
# Flags for building routine and simple generated C code. |
| 127 |
# Generally, -O > -O2 is a bad idea because it messes with |
| 128 |
# IEEE 754 standards and we may not get the expected trap |
| 129 |
# behavior. |
| 130 |
BTCFLAGS = -O -c |
| 131 |
|
| 132 |
$(BTTARGET) _dummy_target: $(BTTARGET).c |
| 133 |
-$(RM) $(BTTARGET).o $(BTTARGET)$(SHLIB_SUFFIX) |
| 134 |
$(CC) $(BTINCLUDES) $(SHLIB_CFLAGS) $(BTCFLAGS) \ |
| 135 |
$(BTTARGET).c -o $(BTTARGET).o |
| 136 |
$(SHLIB_LD) $(SHLIB_LDFLAGS) \ |
| 137 |
-o $(BTTARGET)$(SHLIB_SUFFIX) $(BTTARGET).o |
| 138 |
|
| 139 |
###END_COPY_ME |
| 140 |
# Do not edit the previous line --- it is special |
| 141 |
|
| 142 |
|
| 143 |
|
| 144 |
# Files to install |
| 145 |
|
| 146 |
LIB_DIR_FILES = Makefile.bt btprolog.h instance_enum.h ascConfig.h |
| 147 |
|
| 148 |
install-binaries:: $(LIB_DIR_FILES) |
| 149 |
@if test ! -d $(LIB_DIR) ; then \ |
| 150 |
echo Making directory $(LIB_DIR) ; \ |
| 151 |
mkdir -p $(LIB_DIR) ; \ |
| 152 |
fi |
| 153 |
@for i in $(LIB_DIR_FILES) /dev/null ; do \ |
| 154 |
if $(CMP) -s $$i $(LIB_DIR)/$$i ; then \ |
| 155 |
echo "Skipping $$i (up to date)" ; \ |
| 156 |
elif test $$i != "/dev/null" ; then \ |
| 157 |
echo "Installing $$i --> $(LIB_DIR)" ; \ |
| 158 |
$(INSTALL_DATA) $$i $(LIB_DIR) ; \ |
| 159 |
fi ; \ |
| 160 |
done |
| 161 |
|
| 162 |
uninstall-binaries:: |
| 163 |
@for i in $(LIB_DIR_FILES) /dev/null ; do \ |
| 164 |
if test -f $(LIB_DIR)/$$i ; then \ |
| 165 |
echo Removing $(LIB_DIR)/$$i ; \ |
| 166 |
$(RM) $(LIB_DIR)/$$i ; \ |
| 167 |
fi ; \ |
| 168 |
done |
| 169 |
|
| 170 |
|
| 171 |
|
| 172 |
# Files, in addition to the default, to remove when we `make clean' |
| 173 |
|
| 174 |
clean:: |
| 175 |
-$(RM) $(LIB_DIR_FILES) *.so *.sl |
| 176 |
|
| 177 |
|
| 178 |
# .PHONY: btprolog.h |
| 179 |
|
| 180 |
# DO NOT DELETE THIS LINE -- g++dep uses it. |
| 181 |
# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. |
| 182 |
|
| 183 |
|
| 184 |
# IF YOU PUT ANYTHING HERE IT WILL GO AWAY |