annotate src/zlib-1.2.8/nintendods/Makefile @ 169:223a55898ab9 tip default

Add null config files
author Chris Cannam <cannam@all-day-breakfast.com>
date Mon, 02 Mar 2020 14:03:47 +0000
parents 5b4145a0d408
children
rev   line source
cannam@128 1 #---------------------------------------------------------------------------------
cannam@128 2 .SUFFIXES:
cannam@128 3 #---------------------------------------------------------------------------------
cannam@128 4
cannam@128 5 ifeq ($(strip $(DEVKITARM)),)
cannam@128 6 $(error "Please set DEVKITARM in your environment. export DEVKITARM=<path to>devkitARM")
cannam@128 7 endif
cannam@128 8
cannam@128 9 include $(DEVKITARM)/ds_rules
cannam@128 10
cannam@128 11 #---------------------------------------------------------------------------------
cannam@128 12 # TARGET is the name of the output
cannam@128 13 # BUILD is the directory where object files & intermediate files will be placed
cannam@128 14 # SOURCES is a list of directories containing source code
cannam@128 15 # DATA is a list of directories containing data files
cannam@128 16 # INCLUDES is a list of directories containing header files
cannam@128 17 #---------------------------------------------------------------------------------
cannam@128 18 TARGET := $(shell basename $(CURDIR))
cannam@128 19 BUILD := build
cannam@128 20 SOURCES := ../../
cannam@128 21 DATA := data
cannam@128 22 INCLUDES := include
cannam@128 23
cannam@128 24 #---------------------------------------------------------------------------------
cannam@128 25 # options for code generation
cannam@128 26 #---------------------------------------------------------------------------------
cannam@128 27 ARCH := -mthumb -mthumb-interwork
cannam@128 28
cannam@128 29 CFLAGS := -Wall -O2\
cannam@128 30 -march=armv5te -mtune=arm946e-s \
cannam@128 31 -fomit-frame-pointer -ffast-math \
cannam@128 32 $(ARCH)
cannam@128 33
cannam@128 34 CFLAGS += $(INCLUDE) -DARM9
cannam@128 35 CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions
cannam@128 36
cannam@128 37 ASFLAGS := $(ARCH) -march=armv5te -mtune=arm946e-s
cannam@128 38 LDFLAGS = -specs=ds_arm9.specs -g $(ARCH) -Wl,-Map,$(notdir $*.map)
cannam@128 39
cannam@128 40 #---------------------------------------------------------------------------------
cannam@128 41 # list of directories containing libraries, this must be the top level containing
cannam@128 42 # include and lib
cannam@128 43 #---------------------------------------------------------------------------------
cannam@128 44 LIBDIRS := $(LIBNDS)
cannam@128 45
cannam@128 46 #---------------------------------------------------------------------------------
cannam@128 47 # no real need to edit anything past this point unless you need to add additional
cannam@128 48 # rules for different file extensions
cannam@128 49 #---------------------------------------------------------------------------------
cannam@128 50 ifneq ($(BUILD),$(notdir $(CURDIR)))
cannam@128 51 #---------------------------------------------------------------------------------
cannam@128 52
cannam@128 53 export OUTPUT := $(CURDIR)/lib/libz.a
cannam@128 54
cannam@128 55 export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir)) \
cannam@128 56 $(foreach dir,$(DATA),$(CURDIR)/$(dir))
cannam@128 57
cannam@128 58 export DEPSDIR := $(CURDIR)/$(BUILD)
cannam@128 59
cannam@128 60 CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
cannam@128 61 CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
cannam@128 62 SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
cannam@128 63 BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*)))
cannam@128 64
cannam@128 65 #---------------------------------------------------------------------------------
cannam@128 66 # use CXX for linking C++ projects, CC for standard C
cannam@128 67 #---------------------------------------------------------------------------------
cannam@128 68 ifeq ($(strip $(CPPFILES)),)
cannam@128 69 #---------------------------------------------------------------------------------
cannam@128 70 export LD := $(CC)
cannam@128 71 #---------------------------------------------------------------------------------
cannam@128 72 else
cannam@128 73 #---------------------------------------------------------------------------------
cannam@128 74 export LD := $(CXX)
cannam@128 75 #---------------------------------------------------------------------------------
cannam@128 76 endif
cannam@128 77 #---------------------------------------------------------------------------------
cannam@128 78
cannam@128 79 export OFILES := $(addsuffix .o,$(BINFILES)) \
cannam@128 80 $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(SFILES:.s=.o)
cannam@128 81
cannam@128 82 export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
cannam@128 83 $(foreach dir,$(LIBDIRS),-I$(dir)/include) \
cannam@128 84 -I$(CURDIR)/$(BUILD)
cannam@128 85
cannam@128 86 .PHONY: $(BUILD) clean all
cannam@128 87
cannam@128 88 #---------------------------------------------------------------------------------
cannam@128 89 all: $(BUILD)
cannam@128 90 @[ -d $@ ] || mkdir -p include
cannam@128 91 @cp ../../*.h include
cannam@128 92
cannam@128 93 lib:
cannam@128 94 @[ -d $@ ] || mkdir -p $@
cannam@128 95
cannam@128 96 $(BUILD): lib
cannam@128 97 @[ -d $@ ] || mkdir -p $@
cannam@128 98 @$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
cannam@128 99
cannam@128 100 #---------------------------------------------------------------------------------
cannam@128 101 clean:
cannam@128 102 @echo clean ...
cannam@128 103 @rm -fr $(BUILD) lib
cannam@128 104
cannam@128 105 #---------------------------------------------------------------------------------
cannam@128 106 else
cannam@128 107
cannam@128 108 DEPENDS := $(OFILES:.o=.d)
cannam@128 109
cannam@128 110 #---------------------------------------------------------------------------------
cannam@128 111 # main targets
cannam@128 112 #---------------------------------------------------------------------------------
cannam@128 113 $(OUTPUT) : $(OFILES)
cannam@128 114
cannam@128 115 #---------------------------------------------------------------------------------
cannam@128 116 %.bin.o : %.bin
cannam@128 117 #---------------------------------------------------------------------------------
cannam@128 118 @echo $(notdir $<)
cannam@128 119 @$(bin2o)
cannam@128 120
cannam@128 121
cannam@128 122 -include $(DEPENDS)
cannam@128 123
cannam@128 124 #---------------------------------------------------------------------------------------
cannam@128 125 endif
cannam@128 126 #---------------------------------------------------------------------------------------