1 #
2 # This file and its contents are supplied under the terms of the
3 # Common Development and Distribution License ("CDDL"), version 1.0.
4 # You may only use this file in accordance with the terms of version
5 # 1.0 of the CDDL.
6 #
7 # A full copy of the text of the CDDL should have accompanied this
8 # source. A copy of the CDDL is also available via the Internet at
9 # http://www.illumos.org/license/CDDL.
10 #
11
12 #
13 # Copyright 2016 Toomas Soome <tsoome@me.com>
14 #
15
16
17 CC= $(GCC_ROOT)/bin/gcc
18 FICLDIR= $(SRC)/common/ficl
19
20 all: lib
21
22 CPPFLAGS= -DSTAND -I. -I.. -I../../../../include -I../../../../lib/libstand
23 CPPFLAGS += -I../../.. -I$(FICLDIR) -I../../common
24 CFLAGS= -O2 -Wall -nostdinc
25
26 CFLAGS += -ffreestanding
27 CFLAGS += -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float
28 CFLAGS += -std=gnu99
29
30 OBJECTS= dictionary.o system.o fileaccess.o float.o double.o prefix.o search.o
31 OBJECTS += softcore.o stack.o tools.o vm.o primitives.o unix.o utility.o
32 OBJECTS += hash.o callback.o word.o loader.o
33 HEADERS= $(FICLDIR)/ficl.h $(FICLDIR)/ficlplatform/unix.h ../ficllocal.h
34 #
35
36 MAJOR = 4
37 MINOR = 1.0
38
39 lib: machine x86 libficl.a
40
41 # static library build
42 libficl.a: $(OBJECTS)
43 $(AR) $(ARFLAGS) libficl.a $(OBJECTS)
44
45 machine:
46 $(RM) machine
47 $(SYMLINK) ../../../$(MACHINE)/include machine
48
49 x86:
50 $(RM) x86
51 $(SYMLINK) ../../../x86/include x86
52
53 %.o: ../softcore/%.c $(HEADERS)
54 $(COMPILE.c) $<
55
56 %.o: $(FICLDIR)/%.c $(HEADERS)
57 $(COMPILE.c) $<
58
59 %.o: $(FICLDIR)/ficlplatform/%.c $(HEADERS)
60 $(COMPILE.c) $<
61
62 #
63 # generic cleanup code
64 #
65 clobber clean: FRC
66 $(RM) *.o *.a libficl.* ficl machine x86