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