Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. CC = kos32-gcc
  2. LD = kos32-ld
  3. OBJCOPY = kos32-objcopy
  4. KPACK = kpack
  5. STRIP = kos32-strip
  6.  
  7. HCL = hcl
  8.  
  9. SDK_DIR = $(abspath ../../sdk)
  10.  
  11. CFLAGS = -c -O2 -std=c11 -mpreferred-stack-boundary=2 -fno-ident -fomit-frame-pointer -fno-stack-check \
  12.         -fno-stack-protector -mno-stack-arg-probe -fno-exceptions -fno-asynchronous-unwind-tables \
  13.         -ffast-math -mno-ms-bitfields -march=pentium-mmx \
  14.         -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 -D_KOLIBRI \
  15.         -D_GNU_SOURCE=1 -Wno-missing-field-initializers -D_SDL -DUSE_SDL=1 -DOGG_MUSIC
  16.  
  17. LDFLAGS = -static -S -nostdlib -T $(SDK_DIR)/sources/newlib/app.lds -Map=output.map  --image-base 0  --subsystem native
  18.  
  19. INCLUDES = -I$(SDK_DIR)/sources/newlib/libc/include -I$(SDK_DIR)/sources/SDL-1.2.2_newlib/include -I$(SDK_DIR)/sources/SDL_mixer-1.2.12 -Isrc
  20. LIBPATH  = -L$(SDK_DIR)/lib
  21.  
  22. GAME_OBJS = \
  23.         src/collision.o \
  24.         src/effect.o \
  25.         src/enemy.o \
  26.         src/game.o \
  27.         src/hero.o \
  28.         src/ini.o \
  29.         src/inventory.o \
  30.         src/main.o \
  31.         src/object.o \
  32.         src/options.o \
  33.         src/PHL.o \
  34.         src/platform.o \
  35.         src/qda.o \
  36.         src/stagedata.o \
  37.         src/text.o \
  38.         src/titlescreen.o \
  39.         src/weapon.o \
  40.         src/enemies/batboss.o \
  41.         src/enemies/bat.o \
  42.         src/enemies/bee.o \
  43.         src/enemies/boar.o \
  44.         src/enemies/boomknight.o \
  45.         src/enemies/crab.o \
  46.         src/enemies/devil.o \
  47.         src/enemies/dodo.o \
  48.         src/enemies/dog.o \
  49.         src/enemies/firewheel.o \
  50.         src/enemies/fish.o \
  51.         src/enemies/garm.o \
  52.         src/enemies/gas.o \
  53.         src/enemies/ghoul.o \
  54.         src/enemies/golem.o \
  55.         src/enemies/gyra.o \
  56.         src/enemies/heads.o \
  57.         src/enemies/hydra.o \
  58.         src/enemies/jellyfish.o \
  59.         src/enemies/knight.o \
  60.         src/enemies/lolidra.o \
  61.         src/enemies/pendulum.o \
  62.         src/enemies/podoboo.o \
  63.         src/enemies/poisonknight.o \
  64.         src/enemies/pumpkin.o \
  65.         src/enemies/seal.o \
  66.         src/enemies/skeleton.o \
  67.         src/enemies/skull.o \
  68.         src/enemies/slime.o \
  69.         src/enemies/slug.o \
  70.         src/enemies/thwomp.o \
  71.         src/enemies/waterjumper.o \
  72.         src/enemies/wizard.o
  73.  
  74. SDL_OBJS = src/sdl/audio.o \
  75.         src/sdl/input.o \
  76.         src/sdl/graphics.o \
  77.         src/sdl/system.o \
  78.         src/sdl/joystick_stub.o
  79.  
  80. MISC_OBJS = src/misc.o
  81.  
  82. LIBS = -lSDL_mixer -lvorbis -logg  -lSDLn -lsound  -lgcc -lc.dll
  83.  
  84. $(HCL): $(GAME_OBJS) $(SDL_OBJS) $(MISC_OBJS)
  85.         $(LD) $(LDFLAGS) $(LIBPATH) $(GAME_OBJS) $(SDL_OBJS) $(MISC_OBJS) -o $(HCL) $(LIBS)
  86.         $(STRIP) -S $(HCL)
  87.         $(OBJCOPY) $(HCL) -O binary
  88.         $(KPACK) --nologo $(HCL)
  89.  
  90. %.o : %.c
  91.         $(CC) $(CFLAGS) $(INCLUDES) -o $@ $<
  92.  
  93. clean:
  94.         rm $(GAME_OBJS) $(SDL_OBJS)
  95.