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 2017 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. -I$(SRC)/common/bzip2
  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-unused-value \
  36                 -Wno-unused-function -Wno-switch \
  37                 -Wno-switch-enum -Wno-parentheses
  38 
  39 include ${LIBSTAND_SRC}/Makefile.inc
  40 
  41 $(LIBRARY): $(SRCS) $(OBJS)
  42         $(AR) $(ARFLAGS) $@ $(OBJS)
  43 
  44 clean: clobber
  45 clobber:
  46         $(RM) $(CLEANFILES) $(OBJS) machine x86 libstand.a
  47 
  48 machine:
  49         $(RM) machine
  50         $(SYMLINK) ../../../$(MACHINE)/include machine
  51 
  52 x86:
  53         $(RM) x86
  54         $(SYMLINK) ../../../x86/include x86
  55 
  56 $(OBJS): machine x86
  57 
  58 %.o:    $(LIBSTAND_SRC)/%.c
  59         $(COMPILE.c) $<
  60 
  61 %.o:    $(LIB_BASE)/builtins/%.c
  62         $(COMPILE.c) $<
  63 
  64 %.o:    $(LIB_BASE)/libc/net/%.c
  65         $(COMPILE.c) $<
  66 
  67 %.o:    $(LIB_BASE)/libc/string/%.c
  68         $(COMPILE.c) $<
  69 
  70 %.o:    $(LIB_BASE)/libc/uuid/%.c
  71         $(COMPILE.c) $<
  72 
  73 %.o:    $(LIB_BASE)/libz/%.c
  74         $(COMPILE.c) $<