add nasm targets
[platform/upstream/flac.git] / build / exe.mk
1 #
2 # GNU makefile fragment for building an executable
3 #
4
5 CC          = gcc
6 NASM        = nasm
7 # LINKAGE can be forced to -static or -dynamic from invocation if desired, but it defaults to -static
8 LINKAGE     = -static
9 LINK        = gcc $(LINKAGE)
10 BINPATH     = ../../obj/bin
11 LIBPATH     = ../../obj/lib
12 PROGRAM     = $(BINPATH)/$(PROGRAM_NAME)
13
14 all : release
15
16 debug   : CFLAGS = -g -O0 -DDEBUG $(DEBUG_CFLAGS) -Wall -W $(DEFINES) $(INCLUDES)
17 release : CFLAGS = -O3 -fomit-frame-pointer -funroll-loops -ffast-math -finline-functions -DNDEBUG $(RELEASE_CFLAGS) -Wall -W $(DEFINES) $(INCLUDES)
18
19 LFLAGS  = -L$(LIBPATH)
20
21 debug   : $(PROGRAM)
22 release : $(PROGRAM)
23
24 $(PROGRAM) : $(OBJS)
25         $(LINK) -o $@ $(OBJS) $(LFLAGS) $(LIBS)
26
27 %.o : %.c
28         $(CC) $(CFLAGS) -c $< -o $@
29 %.i : %.c
30         $(CC) $(CFLAGS) -E $< -o $@
31
32 %.o : %.nasm
33         $(NASM) -f elf -d ELF -i i386/ $< -o $@
34
35 .PHONY : clean
36 clean :
37         -rm -f $(OBJS) $(PROGRAM)
38
39 .PHONY : depend
40 depend:
41         makedepend -- $(CFLAGS) $(INCLUDES) -- *.c