annotate zlib/nintendods/Makefile @ 143:76e1cf5455ef

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