annotate src/zlib-1.2.7/nintendods/Makefile @ 4:e13257ea84a4

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