annotate keiko/Makefile @ 1:b5139af1a420 tip basis

Fixed permissions on compile scripts
author Mike Spivey <mike@cs.ox.ac.uk>
date Fri, 13 Oct 2017 17:27:58 +0100
parents bfdcc3820b32
children
rev   line source
mike@0 1 #
mike@0 2 # runtime/Makefile. Generated from Makefile.in by configure.
mike@0 3 #
mike@0 4 # runtime/Makefile.in
mike@0 5 #
mike@0 6 # This file is part of the Oxford Oberon-2 compiler
mike@0 7 # Copyright (c) 2006 J. M. Spivey
mike@0 8 # All rights reserved
mike@0 9 #
mike@0 10 # Redistribution and use in source and binary forms, with or without
mike@0 11 # modification, are permitted provided that the following conditions are met:
mike@0 12 #
mike@0 13 # 1. Redistributions of source code must retain the above copyright notice,
mike@0 14 # this list of conditions and the following disclaimer.
mike@0 15 # 2. Redistributions in binary form must reproduce the above copyright notice,
mike@0 16 # this list of conditions and the following disclaimer in the documentation
mike@0 17 # and/or other materials provided with the distribution.
mike@0 18 # 3. The name of the author may not be used to endorse or promote products
mike@0 19 # derived from this software without specific prior written permission.
mike@0 20 #
mike@0 21 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
mike@0 22 # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
mike@0 23 # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
mike@0 24 # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
mike@0 25 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
mike@0 26 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
mike@0 27 # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
mike@0 28 # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
mike@0 29 # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
mike@0 30 # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mike@0 31 #
mike@0 32
mike@0 33 # Config stuff
mike@0 34 AR = ar
mike@0 35 RANLIB = ranlib
mike@0 36 CFLAGS = -g -O2
mike@0 37 RTFLAGS = $(CFLAGS) -fno-strict-aliasing
mike@0 38 TCLSH = tclsh
mike@0 39 GC_PAGESIZE = 4096
mike@0 40 # End
mike@0 41
mike@0 42 include config.mk
mike@0 43
mike@0 44 all :: ppx pplink
mike@0 45
mike@0 46 ALL_CFLAGS = $(CFLAGS) -Wall $(INCLUDE)
mike@0 47 ALL_RTFLAGS = $(RTFLAGS) -Wall $(HOST_DEFINES) $(INCLUDE)
mike@0 48
mike@0 49 PPLINK = oblink.o linker.o symtab.o template.o util.o
mike@0 50 pplink : $(PPLINK)
mike@0 51 $(CC) $(CFLAGS) -o $@ $^
mike@0 52
mike@0 53 $(PPLINK) : %.o : %.c
mike@0 54 $(CC) $(ALL_CFLAGS) -c $< -o $@
mike@0 55
mike@0 56 COMMON = support.o loader.o gc0.o dynlink.o
mike@0 57 PACK = $(AR) cr $@ $^ && $(RANLIB) $@
mike@0 58
mike@0 59 ppx: obx-t.a lib.o
mike@0 60 $(CC) $(ALL_RTFLAGS) $^ -o $@
mike@0 61
mike@0 62 obx-t.a : interp-t.o xmain-t.o trace.o $(COMMON); $(PACK)
mike@0 63
mike@0 64 # Cancel default rule
mike@0 65 %.o: %.c
mike@0 66
mike@0 67 xmain.o xmain-t.o oblink.o: CFLAGS += -DREVID=\"compilers\"
mike@0 68
mike@0 69 interp.o trace.o lib.o $(COMMON): %.o : %.c
mike@0 70 $(CC) $(ALL_RTFLAGS) -c $< -o $@
mike@0 71
mike@0 72 %-t.o : %.c
mike@0 73 $(CC) $(ALL_RTFLAGS) -DTRACE -c $< -o $@
mike@0 74
mike@0 75 GEN = keiko.h template.c interp.c
mike@0 76
mike@0 77 generate : $(GEN)
mike@0 78
mike@0 79 keiko.h template.c interp.c : iset.tcl keiko.iset iskel.c config.tcl
mike@0 80 $(TCLSH) iset.tcl keiko.iset keiko.h template.c interp.c
mike@0 81
mike@0 82
mike@0 83 ## Cleanup
mike@0 84
mike@0 85 # clean: remove all object files
mike@0 86 clean:
mike@0 87 rm -f pplink ppx *.[ao]
mike@0 88
mike@0 89 # realclean: remove generated source too
mike@0 90 realclean: clean
mike@0 91 rm -f $(GEN)
mike@0 92
mike@0 93 .DELETE_ON_ERROR:
mike@0 94
mike@0 95 ###
mike@0 96
mike@0 97 support.o interp.o interp-t.o interp-p.o interp-d.o profile.o \
mike@0 98 xmain.o xmain-t.o xmain-p.o xmain-d.o xmain-j.o debug.o \
mike@0 99 trace.o loader.o jit.o jitlab.o gc0.o: \
mike@0 100 obx.h obcommon.h config.h exec.h
mike@0 101
mike@0 102 interp.o interp-t.o xmain.o xmain-t.o trace.o: \
mike@0 103 keiko.h
mike@0 104
mike@0 105 linker.o oblink.o symtab.o template.o util.o: \
mike@0 106 oblink.h obcommon.h config.h exec.h util.h keiko.h