58 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| TAG = CLANG
 | |
| 
 | |
| #CONFIGURE BUILD SYSTEM
 | |
| TARGET	   = MDBench-$(TAG)
 | |
| BUILD_DIR  = ./$(TAG)
 | |
| SRC_DIR    = ./src
 | |
| MAKE_DIR   = ./
 | |
| Q         ?= @
 | |
| 
 | |
| #DO NOT EDIT BELOW
 | |
| include $(MAKE_DIR)/include_$(TAG).mk
 | |
| INCLUDES  += -I./src/includes
 | |
| 
 | |
| VPATH     = $(SRC_DIR)
 | |
| ASM       = $(patsubst $(SRC_DIR)/%.c, $(BUILD_DIR)/%.s,$(wildcard $(SRC_DIR)/*.c))
 | |
| OBJ       = $(patsubst $(SRC_DIR)/%.c, $(BUILD_DIR)/%.o,$(wildcard $(SRC_DIR)/*.c))
 | |
| CPPFLAGS := $(CPPFLAGS) $(DEFINES) $(INCLUDES)
 | |
| 
 | |
| 
 | |
| ${TARGET}: $(BUILD_DIR) $(OBJ)
 | |
| 	@echo "===>  LINKING  $(TARGET)"
 | |
| 	$(Q)${LINKER} ${LFLAGS} -o $(TARGET) $(OBJ) $(LIBS)
 | |
| 
 | |
| asm:  $(BUILD_DIR) $(ASM)
 | |
| 
 | |
| $(BUILD_DIR)/%.o:  %.c
 | |
| 	@echo "===>  COMPILE  $@"
 | |
| 	$(Q)$(CC) -c $(CPPFLAGS) $(CFLAGS) $< -o $@
 | |
| 	$(Q)$(CC) $(CPPFLAGS) -MT $(@:.d=.o) -MM  $< > $(BUILD_DIR)/$*.d
 | |
| 
 | |
| $(BUILD_DIR)/%.s:  %.c
 | |
| 	@echo "===>  GENERATE ASM  $@"
 | |
| 	$(Q)$(CC) -S $(ASFLAGS)  $(CPPFLAGS) $(CFLAGS) $< -o $@
 | |
| 
 | |
| tags:
 | |
| 	@echo "===>  GENERATE  TAGS"
 | |
| 	$(Q)ctags -R
 | |
| 
 | |
| 
 | |
| $(BUILD_DIR):
 | |
| 	@mkdir $(BUILD_DIR)
 | |
| 
 | |
| ifeq ($(findstring $(MAKECMDGOALS),clean),)
 | |
| -include $(OBJ:.o=.d)
 | |
| endif
 | |
| 
 | |
| .PHONY: clean distclean
 | |
| 
 | |
| clean:
 | |
| 	@echo "===>  CLEAN"
 | |
| 	@rm -rf $(BUILD_DIR)
 | |
| 	@rm -f tags
 | |
| 
 | |
| distclean: clean
 | |
| 	@echo "===>  DIST CLEAN"
 | |
| 	@rm -f $(TARGET)
 | |
| 	@rm -f tags
 |