Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 # | 5 # |
| 6 # GNU Make based build file. For details on GNU Make see: | 6 # GNU Make based build file. For details on GNU Make see: |
| 7 # http://www.gnu.org/software/make/manual/make.html | 7 # http://www.gnu.org/software/make/manual/make.html |
| 8 # | 8 # |
| 9 | 9 |
| 10 | 10 |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 144 # $2 = List of Sources | 144 # $2 = List of Sources |
| 145 # $3 = List of LIBS | 145 # $3 = List of LIBS |
| 146 # $4 = List of DEPS | 146 # $4 = List of DEPS |
| 147 # $5 = POSIX Linker Switches | 147 # $5 = POSIX Linker Switches |
| 148 # $6 = VC Linker Switches | 148 # $6 = VC Linker Switches |
| 149 # | 149 # |
| 150 define LINK_RULE | 150 define LINK_RULE |
| 151 $(call LINKER_RULE,$(OUTDIR)/$(1)$(HOST_EXT),$(foreach src,$(2),$(call SRC_TO_OB J,$(src))),$(filter-out pthread,$(3)),$(4),$(LIB_PATHS),$(5)) | 151 $(call LINKER_RULE,$(OUTDIR)/$(1)$(HOST_EXT),$(foreach src,$(2),$(call SRC_TO_OB J,$(src))),$(filter-out pthread,$(3)),$(4),$(LIB_PATHS),$(5)) |
| 152 endef | 152 endef |
| 153 | 153 |
| 154 | |
| 155 # | |
| 156 # Macro to generate linker scripts | |
| 157 # | |
| 158 # $1 = Target Name | |
| 159 # $2 = Static Linker Script | |
| 160 # $3 = Shared Linker Script | |
| 161 # | |
| 162 define LINKER_SCRIPT_RULE | |
| 163 $(STAMPDIR)/$(1).stamp: | |
| 164 @echo " STAMP $$@" | |
| 165 @echo "TOUCHED $$@" > $(STAMPDIR)/$(1).stamp | |
| 166 | |
| 167 install: $(LIBDIR)/$(OSNAME)_host/$(CONFIG)/lib$(1).a | |
| 168 $(LIBDIR)/$(OSNAME)_host/$(CONFIG)/lib$(1).a: $(2) | |
| 169 $(MKDIR) -p $$(dir $$@) | |
| 170 $(call LOG,CP ,$$@,$(OSHELPERS) cp $$^ $$@) | |
| 171 | |
| 172 install: $(LIBDIR)/$(OSNAME)_host/$(CONFIG)/lib$(1).so | |
| 173 $(LIBDIR)/$(OSNAME)_host/$(CONFIG)/lib$(1).so: $(3) | |
| 174 $(MKDIR) -p $$(dir $$@) | |
| 175 $(call LOG,CP ,$$@,$(OSHELPERS) cp $$^ $$@) | |
| 176 endef | |
|
Sam Clegg
2015/02/19 21:24:20
Hmm.. in my version of this change I just have th
binji
2015/02/20 17:33:48
Yeah, it's more complex but I think it's more expl
| |
| 177 | |
| 178 | |
| 154 all: $(LIB_LIST) $(DEPS_LIST) | 179 all: $(LIB_LIST) $(DEPS_LIST) |
| 155 | 180 |
| 156 | 181 |
| 157 # | 182 # |
| 158 # Strip Macro | 183 # Strip Macro |
| 159 # The host build makes shared libraries, so the best we can do is -S, which | 184 # The host build makes shared libraries, so the best we can do is -S, which |
| 160 # only strip debug symbols. We don't strip the symbol names. | 185 # only strip debug symbols. We don't strip the symbol names. |
| 161 # | 186 # |
| 162 # $1 = Target Name | 187 # $1 = Target Name |
| 163 # $2 = Input Name | 188 # $2 = Input Name |
| 164 # | 189 # |
| 165 define STRIP_RULE | 190 define STRIP_RULE |
| 166 all: $(OUTDIR)/$(1)$(HOST_EXT) | 191 all: $(OUTDIR)/$(1)$(HOST_EXT) |
| 167 $(OUTDIR)/$(1)$(HOST_EXT): $(OUTDIR)/$(2)$(HOST_EXT) | 192 $(OUTDIR)/$(1)$(HOST_EXT): $(OUTDIR)/$(2)$(HOST_EXT) |
| 168 $(call LOG,STRIP,$$@,$(STRIP) -S -o $$@ $$^) | 193 $(call LOG,STRIP,$$@,$(STRIP) -S -o $$@ $$^) |
| 169 endef | 194 endef |
| 170 | 195 |
| 171 | 196 |
| 172 # | 197 # |
| 173 # Run standalone builds (command line builds outside of chrome) | 198 # Run standalone builds (command line builds outside of chrome) |
| 174 # | 199 # |
| 175 ifdef STANDALONE | 200 ifdef STANDALONE |
| 176 run: all | 201 run: all |
| 177 $(RUN_UNDER) $(OUTDIR)/$(TARGET)$(HOST_EXT) $(EXE_ARGS) | 202 $(RUN_UNDER) $(OUTDIR)/$(TARGET)$(HOST_EXT) $(EXE_ARGS) |
| 178 endif | 203 endif |
| OLD | NEW |