wiz port. Lots of refactoring, some bugfixes
[ginge.git] / loader / Makefile
... / ...
CommitLineData
1ARCH ?= arm
2CROSS_COMPILE ?= arm-linux-
3CC = $(CROSS_COMPILE)gcc
4AS = $(CROSS_COMPILE)as
5CFLAGS += -Wall -ggdb -DLOADER
6LDFLAGS += -ggdb -lpthread -lrt
7ifndef DEBUG
8CFLAGS += -O2 -fno-strict-aliasing
9LDFLAGS += -s -O2
10endif
11ifdef DBG
12CFLAGS += -DDBG=$(DBG)
13endif
14
15ifeq "$(ARCH)" "ia32"
16ARCH = ia32
17CFLAGS += -m32
18LDFLAGS += -m32
19ASFLAGS += --32
20endif
21ifeq "$(ARCH)" "arm"
22ASFLAGS += -mfloat-abi=soft
23OBJ += sys_cacheflush.o emu_arm.o
24endif
25ifdef PND
26CFLAGS += -DPND
27OBJ += host_pnd.o
28endif
29ifdef WIZ
30CFLAGS += -DWIZ
31OBJ += host_wiz.o
32endif
33
34vpath %.c = ../common/
35
36TARGET_S = ginge_sloader
37TARGET_D = ginge_dyn
38
39OBJ += emu.o host_fb.o cmn.o
40OBJ_S += $(OBJ) loader.o loader_$(ARCH).o patches.o
41OBJ_D += $(OBJ) dl.o
42
43all: $(TARGET_S) $(TARGET_D)
44
45$(TARGET_S): LDFLAGS += -Wl,-T script_$(ARCH).lds
46$(TARGET_D): LDFLAGS += -ldl -Wl,--version-script=$(TARGET_D).symver
47
48$(TARGET_S): $(OBJ_S)
49 $(CC) -o $@ $^ -static $(LDFLAGS)
50
51$(TARGET_D): $(OBJ_D)
52 $(CC) -o $@ $^ -shared $(LDFLAGS)
53
54clean:
55 $(RM) $(TARGET_S) $(TARGET_D) $(OBJ_S) $(OBJ_D)
56
57# basic deps
58dl.o patches.o: override.c
59*.o: header.h
60