File: gcc-nasm.mak

package info (click to toggle)
lensfun 0.2.5-2
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 1,928 kB
  • sloc: cpp: 8,857; xml: 8,309; ansic: 7,362; python: 947; sh: 24; makefile: 8
file content (32 lines) | stat: -rw-r--r-- 1,093 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Additional rules for compiling .asm files to gcc .o format

ifeq ($(GCC.ASSEMBLER),NASM)

GCC.NASM ?= nasm
ifeq ($(TARGET),win32)
GCC.NASMFLAGS = -f win32 -DEXTERNC_UNDERSCORE
else
GCC.NASMFLAGS = -f elf
endif
GCC.NASMFLAGS += \
    $(GCC.NASMFLAGS.$(MODE)) $(GCC.NASMFLAGS.DEF) $(GCC.NASMFLAGS.INC) $(NASMFLAGS)
GCC.NASMFLAGS.DEF = $(NASMFLAGS.DEF)
GCC.NASMFLAGS.INC = $(if $(DIR.INCLUDE.NASM),-I$(subst ;, -I,$(DIR.INCLUDE.NASM)))
GCC.NASMFLAGS.SHARED ?= -DPIC

GCC.NASMFLAGS.release = -O2
GCC.NASMFLAGS.debug = -D__DEBUG__ -g

COMPILE.GCC.NASM = $(GCC.NASM) -o $@ $(strip $(GCC.NASMFLAGS) $1) $<

# Compilation rules ($1 = source file list, $2 = source file directories,
# $3 = module name, $4 = target name)
define MKCRULES.GCC.NASM
$(if $(filter %.asm,$1),$(foreach z,$2,
$(addsuffix $(if $(SHARED.$4),%.lo,%.o),$(addprefix $$(OUT),$z)): $(addsuffix %.asm,$z)
	$(if $V,,@echo COMPILE.GCC.NASM$(if $(SHARED.$4),.SHARED) $$< &&)$$(call COMPILE.GCC.NASM,$(NASMFLAGS.$3) $(NASMFLAGS.$4) $(if $(SHARED.$4),$(GCC.NASMFLAGS.SHARED)))))
endef

GCC.EXTRA.MKCRULES += $(MKCRULES.GCC.NASM)

endif