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) $<