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 84 85 86
|
AUTOMAKE_OPTIONS=foreign
AM_CPPFLAGS = $(OSFLAG) -Wall
AM_CFLAGS = $(OSFLAG) -Wall -fno-strict-aliasing
AM_CXXFLAGS = $(OSFLAG) -Wall -fno-strict-aliasing
AM_ASFLAGS = $(OSFLAG)
AM_CCASFLAGS = $(OSFLAG)
lib_LTLIBRARIES = libpolyml.la
libpolyml_la_LDFLAGS = -version-info 1:1:0
if NO_UNDEFINED
# Force all references to be defined to build the DLL.
libpolyml_la_LDFLAGS += -no-undefined
endif
# Select the architecture-specific modules
if ARCHI386
ARCHSOURCE = x86_dep.cpp x86asmtemp.S
else
if ARCHPPC
ARCHSOURCE = power_dep.cpp ppcasmtemp.s
else
if ARCHSPARC
ARCHSOURCE = sparc_dep.cpp sparc_assembly.S
else
if ARCHINTERPRET
ARCHSOURCE = interpret.cpp
else
if ARCHINTERPRET64
ARCHSOURCE = interpret.cpp
else
if ARCHX86_64
ARCHSOURCE = x86_dep.cpp x86asmtemp.S
else
endif
endif
endif
endif
endif
endif
# Select the object-format-specific modules
if EXPPECOFF
EXPORTSOURCE = pecoffexport.cpp
else
if EXPELF
EXPORTSOURCE = elfexport.cpp
else
if EXPMACHO
EXPORTSOURCE = machoexport.cpp
endif
endif
endif
if NATIVE_WINDOWS
OSSOURCE = Console.cpp windows_specific.cpp
else
OSSOURCE = unix_specific.cpp
endif
libpolyml_la_SOURCES = mpoly.cpp gc.cpp diagnostics.cpp \
arb.cpp reals.cpp timing.cpp processes.cpp profiling.cpp \
realconv.cpp objsize.cpp proper_io.cpp foreign.cpp \
process_env.cpp basicio.cpp network.cpp \
sighandler.cpp xwindows.cpp check_objects.cpp scanaddrs.cpp \
polystring.cpp run_time.cpp osmem.cpp save_vec.cpp \
rts_module.cpp bitmap.cpp poly_specific.cpp \
exporter.cpp sharedata.cpp memmgr.cpp pexport.cpp \
locking.cpp savestate.cpp \
$(ARCHSOURCE) $(EXPORTSOURCE) $(OSSOURCE)
# Convert the portable format to a native binary
polyexport.o: polyimport exportPoly.sml
(cd ..; driver/polyimport driver/$(POLYIMPORT) < driver/exportPoly.sml > /dev/null)
# Special rule for x86 assembly code.
x86asmtemp.S: x86asm.asm
sed -f masm2gas < x86asm.asm > x86asmtemp.S
# Special rule for Power PC. This is needed because of pecularities with MAC OS X.
ppcasmtemp.s: power_assembly.S
$(CPP) $(ARCHFLAG) $(OSFLAG) -DGCC $< | tr ';' '\012' > ppcasmtemp.s
clean-local:
rm -f x86asmtemp.S ppcasmtemp.s
|