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