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