# # This file and its contents are supplied under the terms of the # Common Development and Distribution License ("CDDL"), version 1.0. # You may only use this file in accordance with the terms of version # 1.0 of the CDDL. # # A full copy of the text of the CDDL should have accompanied this # source. A copy of the CDDL is also available via the Internet at # http://www.illumos.org/license/CDDL. # # # Copyright 2021 OmniOS Community Edition (OmniOSce) Association. # SHELL= /usr/bin/ksh93 CTOOLS= proto lcgen SHTOOLS= iffe package gentab TOOLS= $(CTOOLS) $(SHTOOLS) probe OBJS= $(CTOOLS:%=%.o) include $(SRC)/cmd/Makefile.cmd include ../Makefile.ast CC= $(NATIVECC) LD= $(NATIVELD) CFLAGS= $(NATIVE_CFLAGS) all install install_h: $(TOOLS) _msg _feature: clean clobber: $(RM) $(OBJS) $(TOOLS) package: $(RM) $@ # The string returned by 'package' must match the value used by # AT&T upstream, which is "i386" or "sun4", regardless of whether # building 32- or 64-bit objects. { \ [[ $(MACH) == i386 ]] && arch=i386 || arch=sun4; \ print -e "#!/bin/sh\n\necho sol11.$$arch" > $@; \ } $(CHMOD) +x $@ %.o: $(C_ASTINIT)/%.c $(COMPILE.c) -o $@ $< $(POST_PROCESS_O) %.o: $(C_AST)/src/lib/libast/port/%.c $(COMPILE.c) -o $@ $< $(POST_PROCESS_O) AST_SH_ASSEMBLE= \ { \ tf=$$(mktemp /tmp/ast.XXXXXXXXXX) && \ print 'USAGE_LICENSE="[-author?ATT]"' > $$tf && \ cat $< >> $$tf && \ mv $$tf $@; \ } %: $(C_ASTINIT)/%.sh $(RM) $@ $(AST_SH_ASSEMBLE) $(CHMOD) +x $@ %: $(C_AST)/src/lib/libpp/%.sh $(RM) $@ $(AST_SH_ASSEMBLE) $(CHMOD) +x $@ $(CTOOLS): $(OBJS) $(LINK.c) $@.o -o $@ $(LDLIBS) $(POST_PROCESS) probe: $(C_ASTINIT)/C+probe $(C_ASTINIT)/make.probe $(CAT) $(C_ASTINIT)/C+probe $(C_ASTINIT)/make.probe > $@ $(CHMOD) +x $@ STACKPROTECT= none CERRWARN += -_gcc=-Wno-parentheses CERRWARN += -_gcc=-Wno-implicit-fallthrough CERRWARN += -_gcc=-Wno-unused-value CERRWARN += $(CNOWARN_UNINIT) SMATCH= off .KEEP_STATE: .PARALLEL: $(TOOLS)