tune audio parameters, allow to override
[ginge.git] / loader / Makefile
1 ARCH ?= arm
2 CROSS_COMPILE ?= arm-linux-
3 CC = $(CROSS_COMPILE)gcc
4 AS = $(CROSS_COMPILE)as
5 CFLAGS += -Wall -ggdb -DLOADER
6 LDFLAGS += -ggdb
7 #LDFLAGS += -nodefaultlibs # NYET
8 ifndef DEBUG
9 CFLAGS += -O2 -fno-strict-aliasing
10 LDFLAGS += -O2
11 endif
12 ifdef DBG
13 CFLAGS += -DDBG=$(DBG)
14 endif
15
16 ifeq "$(ARCH)" "ia32"
17 ARCH = ia32
18 CFLAGS += -m32
19 LDFLAGS += -m32
20 endif
21 ifeq "$(ARCH)" "arm"
22 OBJ += syscalls.o emu_arm.o
23 endif
24 ifdef PND
25 CFLAGS += -DPND
26 TAG = _pnd
27 endif
28 ifdef WIZ
29 CFLAGS += -DWIZ
30 OBJ += wiz_video_arm.o
31 TAG = _wiz
32 endif
33
34 vpath %.c = ../common/
35 vpath %.s = ../common/
36
37 TARGET_S = ginge_sloader$(TAG)
38 TARGET_D = ginge_dyn$(TAG)
39
40 OBJ += emu.o host.o host_fb.o cmn.o llibc.o
41 OBJ_S += $(OBJ) loader.o loader_$(ARCH).o patches.o
42 OBJ_D += $(OBJ) dl.o
43
44 all: $(TARGET_S) $(TARGET_D)
45
46 $(TARGET_S): LDFLAGS += -Wl,-T script_$(ARCH).lds
47 $(TARGET_D): LDFLAGS += -ldl -Wl,--version-script=ginge_dyn.symver
48 $(TARGET_D): LDFLAGS += -Wl,--no-undefined
49
50 $(TARGET_S): $(OBJ_S)
51         $(CC) -o $@ $^ -static $(LDFLAGS)
52
53 $(TARGET_D): $(OBJ_D)
54         $(CC) -o $@ $^ -shared $(LDFLAGS)
55
56 # easier to support old toolchains with this
57 %.o: %.s
58         $(CC) -o $@ -c $< $(CFLAGS)
59
60 clean:
61         $(RM) $(TARGET_S) $(TARGET_D) $(OBJ_S) $(OBJ_D)
62
63 # basic deps
64 dl.o patches.o: override.c
65 *.o: header.h
66 host_fb.o: libpicofe/linux/fbdev.c