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 # Copyright 2016 RackTop Systems.
15 #
16
17 include $(SRC)/Makefile.master
18
19 AS= $(GNU_ROOT)/bin/gas
20 LD= $(GNU_ROOT)/bin/gld
21 CC= $(GCC_ROOT)/bin/gcc
22
23 LIBRARY= libstand.a
24
25 all install: $(LIBRARY)
26
27 LIB_BASE= $(SRC)/boot/lib
28 LIBSTAND_SRC= $(LIB_BASE)/libstand
29
30 CPPFLAGS = -nostdinc -I../../../../include -I${LIBSTAND_SRC} -I../../..
31 CPPFLAGS += -I../../../sys -I.
32
33 CFLAGS = -O2 -ffreestanding -Wformat
34 CFLAGS += -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float
35 CFLAGS += -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int \
36 -Wno-unused-const-variable -Wno-tautological-compare \
37 -Wno-unused-value -Wno-parentheses-equality \
38 -Wno-unused-function -Wno-enum-conversion -Wno-switch \
39 -Wno-switch-enum -Wno-knr-promoted-parameter -Wno-parentheses
40
41 include ${LIBSTAND_SRC}/Makefile.inc
42
43 $(LIBRARY): $(SRCS) $(OBJS)
44 $(AR) $(ARFLAGS) $@ $(OBJS)
45
46 clean: clobber
47 clobber:
48 $(RM) $(CLEANFILES) $(OBJS) machine x86 libstand.a
49
50 machine:
51 $(RM) machine
52 $(SYMLINK) ../../../$(MACHINE)/include machine
53
54 x86:
55 $(RM) x86
56 $(SYMLINK) ../../../x86/include x86
57
58 $(OBJS): machine x86
59
60 %.o: $(LIBSTAND_SRC)/%.c
61 $(COMPILE.c) $<
62
63 %.o: $(LIB_BASE)/libc/net/%.c
64 $(COMPILE.c) $<
65
66 %.o: $(LIB_BASE)/libc/string/%.c
67 $(COMPILE.c) $<
68
69 %.o: $(LIB_BASE)/libc/uuid/%.c
70 $(COMPILE.c) $<
71
72 %.o: $(LIB_BASE)/libz/%.c
73 $(COMPILE.c) $<