X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=ginge.git;a=blobdiff_plain;f=loader%2FMakefile;h=e42d2b2cf36aea495fa22c77902a66339da5f63f;hp=5055ac7f7ce2f54666492805376d2533ca3e9449;hb=cf0a08ff470c8abfd7a877cdd38e79536aa7f963;hpb=3d295a9fe6e27f6103701e8d8ae23257b43ff2dd diff --git a/loader/Makefile b/loader/Makefile index 5055ac7..e42d2b2 100644 --- a/loader/Makefile +++ b/loader/Makefile @@ -1,9 +1,18 @@ +ARCH ?= arm +CROSS_COMPILE ?= arm-linux- CC = $(CROSS_COMPILE)gcc AS = $(CROSS_COMPILE)as -CFLAGS += -Wall -ggdb -LDFLAGS += -static -ggdb +CFLAGS += -Wall -ggdb -DLOADER +LDFLAGS += -ggdb -lpthread -lrt +ifndef DEBUG +CFLAGS += -O2 -fno-strict-aliasing +LDFLAGS += -s -O2 +endif +ifdef DBG +CFLAGS += -DDBG=$(DBG) +endif -ifndef ARCH +ifeq "$(ARCH)" "ia32" ARCH = ia32 CFLAGS += -m32 LDFLAGS += -m32 @@ -11,14 +20,44 @@ ASFLAGS += --32 endif ifeq "$(ARCH)" "arm" ASFLAGS += -mfloat-abi=soft -OBJ += sys_cacheflush.o +OBJ += sys_cacheflush.o emu_arm.o +endif +ifdef PND +CFLAGS += -DPND +OBJ += host_pnd.o +TAG = _pnd endif +ifdef WIZ +CFLAGS += -DWIZ +OBJ += host_wiz.o wiz_video_arm.o +TAG = _wiz +endif + +vpath %.c = ../common/ +vpath %.s = ../common/ -OBJ += loader.o loader_$(ARCH).o patches.o emu.o host_fb.o host_pnd.o +TARGET_S = ginge_sloader$(TAG) +TARGET_D = ginge_dyn$(TAG) -loader: $(OBJ) +OBJ += emu.o host_fb.o cmn.o +OBJ_S += $(OBJ) loader.o loader_$(ARCH).o patches.o +OBJ_D += $(OBJ) dl.o -loader: LDFLAGS += -Wl,-T script_$(ARCH).lds +all: $(TARGET_S) $(TARGET_D) + +$(TARGET_S): LDFLAGS += -Wl,-T script_$(ARCH).lds +$(TARGET_D): LDFLAGS += -ldl -Wl,--version-script=ginge_dyn.symver + +$(TARGET_S): $(OBJ_S) + $(CC) -o $@ $^ -static $(LDFLAGS) + +$(TARGET_D): $(OBJ_D) + $(CC) -o $@ $^ -shared $(LDFLAGS) clean: - $(RM) loader $(OBJ) + $(RM) $(TARGET_S) $(TARGET_D) $(OBJ_S) $(OBJ_D) + +# basic deps +dl.o patches.o: override.c +*.o: header.h +