fix missing syms in ginge_dyn
[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
7#LDFLAGS += -nodefaultlibs # NYET
8ifndef DEBUG
9CFLAGS += -O2 -fno-strict-aliasing
10LDFLAGS += -O2
11endif
12ifdef DBG
13CFLAGS += -DDBG=$(DBG)
14endif
15
16ifeq "$(ARCH)" "ia32"
17ARCH = ia32
18CFLAGS += -m32
19LDFLAGS += -m32
20ASFLAGS += --32
21endif
22ifeq "$(ARCH)" "arm"
23ASFLAGS += -mfloat-abi=soft
24OBJ += syscalls.o emu_arm.o
25endif
26ifdef PND
27CFLAGS += -DPND
28TAG = _pnd
29endif
30ifdef WIZ
31CFLAGS += -DWIZ
32OBJ += wiz_video_arm.o
33TAG = _wiz
34endif
35
36vpath %.c = ../common/
37vpath %.s = ../common/
38
39TARGET_S = ginge_sloader$(TAG)
40TARGET_D = ginge_dyn$(TAG)
41
42OBJ += emu.o host.o host_fb.o cmn.o llibc.o
43OBJ_S += $(OBJ) loader.o loader_$(ARCH).o patches.o
44OBJ_D += $(OBJ) dl.o
45
46all: $(TARGET_S) $(TARGET_D)
47
48$(TARGET_S): LDFLAGS += -Wl,-T script_$(ARCH).lds
49$(TARGET_D): LDFLAGS += -ldl -Wl,--version-script=ginge_dyn.symver
50$(TARGET_D): LDFLAGS += -Wl,--no-undefined
51
52$(TARGET_S): $(OBJ_S)
53 $(CC) -o $@ $^ -static $(LDFLAGS)
54
55$(TARGET_D): $(OBJ_D)
56 $(CC) -o $@ $^ -shared $(LDFLAGS)
57
58clean:
59 $(RM) $(TARGET_S) $(TARGET_D) $(OBJ_S) $(OBJ_D)
60
61# basic deps
62dl.o patches.o: override.c
63*.o: header.h
64host_fb.o: libpicofe/linux/fbdev.c