59 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
 | 
						|
include ../Makefile.common.inc
 | 
						|
include ../Makefile.settings
 | 
						|
 | 
						|
MODULE_NAME=$(MODULE).bcc
 | 
						|
 | 
						|
CFLAGS += $(CXXFLAGS) -Wall -g -Wno-long-long
 | 
						|
CFLAGS += -D__MINIX -D_MINIX_SYSTEM
 | 
						|
 | 
						|
LLVM_VERSION=$(shell $(LLVMPREFIX)/bin/llvm-config --version | cut -d"." -f1,2 | sed "s/[^0-9]//g")
 | 
						|
 | 
						|
HAVE_NOCONSTRUCTOR_PRIORITY = $(shell expr $(LLVM_VERSION) \>= 30)
 | 
						|
ifeq ($(HAVE_NOCONSTRUCTOR_PRIORITY),0)
 | 
						|
CFLAGS += -DHAVE_NOCONSTRUCTOR_PRIORITY=1 
 | 
						|
endif
 | 
						|
 | 
						|
ifeq ($(USE_SECTIONIFY),YES)
 | 
						|
LOPT_FLAGS+=-load=$(LLVMSECTIONIFY_SO) -sectionify -sectionify-no-override -sectionify-data-section-map=$(SECTIONIFY_DATA_SECTION_MAP) -sectionify-function-section-map=$(SECTIONIFY_FUNCTION_SECTION_MAP)
 | 
						|
ifeq (SECTIONIFY_NO_OVERRIDE,YES)
 | 
						|
LOPT_FLAGS+=-sectionify-no-override
 | 
						|
endif
 | 
						|
endif
 | 
						|
 | 
						|
V?=0
 | 
						|
ifneq ($V,0)
 | 
						|
QUIET=
 | 
						|
ECHO:=@\#
 | 
						|
QMAKE=VERBOSE=1 make
 | 
						|
else
 | 
						|
QUIET= @
 | 
						|
ECHO= echo
 | 
						|
QMAKE=make -s
 | 
						|
endif
 | 
						|
 | 
						|
$(MODULE_NAME): $(OBJS) $(HEADERS) $(COMMON_BCCS)
 | 
						|
	$(QUIET) $(ECHO) "  [GOLD_LINK] $@.o"
 | 
						|
	$(QUIET) $(LLVMGOLD_CC) $(CFLAGS) $(LLVMGOLD_CFLAGS) $(LLVMGOLD_LDFLAGS) -shared -o $@.o $(OBJS) $(COMMON_BCCS)
 | 
						|
	$(QUIET) $(ECHO) "  [OPT] $@"
 | 
						|
	$(QUIET) $(LLVMPREFIX)/bin/opt $(LOPT_FLAGS) -o $@ $@.o.bc
 | 
						|
 | 
						|
all: $(MODULE_NAME)
 | 
						|
 | 
						|
%.o: %.c $(HEADERS)
 | 
						|
	$(QUIET) $(ECHO) "  [GOLD_CC] $<"
 | 
						|
	$(QUIET) $(LLVMGOLD_CC) $(CFLAGS) $(LLVMGOLD_CFLAGS) $(INCLUDES) $(INCLUDES_$<) -c -o $@ $<
 | 
						|
 | 
						|
install: $(INSTALL_DIR)/$(MODULE_NAME)
 | 
						|
 | 
						|
$(INSTALL_DIR)/$(MODULE_NAME): $(MODULE_NAME)
 | 
						|
	install -c -D -m 744 $? $@
 | 
						|
 | 
						|
clean: $(EXTRA_CLEAN)
 | 
						|
	$(QUIET) $(ECHO) "  [RM] *.BCC *.bcc *.bc *.BCL *.BCL.sh *.bcl $(OBJS) *.s $(COMMON_BCCS)"
 | 
						|
	$(QUIET) rm -f *.BCC *.bcc *.bc *.BCL *.BCL.sh *.bcl *.o $(OBJS) *.s $(COMMON_BCCS)
 | 
						|
 | 
						|
distclean: clean
 | 
						|
	$(QUIET) $(ECHO) "  [RM] $(INSTALL_DIR)/$(MODULE_NAME)"
 | 
						|
	$(QUIET) rm -f $(INSTALL_DIR)/$(MODULE_NAME)
 |