--- hatari/src/Makefile 2019/04/01 07:09:18 1.1.1.2 +++ hatari/src/Makefile 2019/04/01 07:11:43 1.1.1.9 @@ -1,16 +1,13 @@ -# Makefile for Hatari +# Main Makefile for Hatari. -# Set flags passed to the compiler (e.g. optimization flags) -CMPLRFLAGS = -O3 -fomit-frame-pointer +# Include settings +include ../Makefile.cnf -# Set the C compiler (e.g. gcc) -CC = gcc +# Additional include directories: +INCFLAGS = -I./includes -I./uae-cpu -SDLLIB=$(shell sdl-config --libs) -SDLFLAGS=$(shell sdl-config --cflags) - -CFLAGS = -I./includes -I./uae-cpu $(CMPLRFLAGS) $(SDLFLAGS) +CFLAGS += -DDATADIR=\"$(DATADIR)\" $(INCFLAGS) $(SDL_CFLAGS) CPUOBJS = ./uae-cpu/hatari-glue.o ./uae-cpu/memory.o ./uae-cpu/newcpu.o \ @@ -19,30 +16,58 @@ CPUOBJS = ./uae-cpu/hatari-glue.o ./uae- ./uae-cpu/cpuemu4.o ./uae-cpu/cpuemu5.o ./uae-cpu/cpuemu6.o \ ./uae-cpu/cpuemu7.o ./uae-cpu/cpuemu8.o -SRCS = audio.c bios.c cart.c configuration.c createBlankImage.c \ - createDiscImage.c debug.c debugui.c dialog.c disass.c errlog.c fdc.c file.c \ - floppy.c gemdos.c ikbd.c int.c intercept.c joy.c keymap.c m68000.c \ - main.c midi.c memAlloc.c memorySnapShot.c mfp.c misc.c msa.c psg.c \ - printer.c rs232.c reset.c st.c stMemory.c screen.c screenConvert.c \ - screenSnapShot.c shortcut.c sound.c spec512.c statusBar.c timer.c \ - tos.c vdi.c video.c view.c wavFormat.c xbios.c ymFormat.c +GUIOBJS = ./gui-sdl/dlgAbout.o ./gui-sdl/dlgAlert.o ./gui-sdl/dlgDevice.o \ + ./gui-sdl/dlgDisc.o ./gui-sdl/dlgJoystick.o ./gui-sdl/dlgKeyboard.o \ + ./gui-sdl/dlgMain.o ./gui-sdl/dlgMemory.o ./gui-sdl/dlgNewDisc.o \ + ./gui-sdl/dlgRom.o ./gui-sdl/dlgScreen.o ./gui-sdl/dlgSound.o \ + ./gui-sdl/dlgSystem.o ./gui-sdl/dlgFileSelect.o ./gui-sdl/sdlgui.o + + +SRCS = audio.c bios.c blitter.c cart.c cfgopts.c configuration.c \ + createBlankImage.c debug.c debugui.c dialog.c dim.c errlog.c \ + fdc.c file.c floppy.c gemdos.c hdc.c ikbd.c int.c intercept.c joy.c keymap.c \ + m68000.c main.c midi.c memAlloc.c memorySnapShot.c mfp.c misc.c msa.c psg.c \ + printer.c rs232.c reset.c rtc.c st.c stMemory.c screen.c screenConvert.c \ + screenSnapShot.c shortcut.c sound.c spec512.c tos.c unzip.c vdi.c video.c \ + wavFormat.c xbios.c ymFormat.c zip.c OBJS = $(SRCS:.c=.o) -hatari: $(OBJS) cpu - $(CC) $(OBJS) $(CPUOBJS) $(SDLLIB) -o hatari - strip hatari +ALLOBJS = $(OBJS) $(GUIOBJS) $(CPUOBJS) -cpu: - $(MAKE) -C uae-cpu/ CFLAGS="$(CMPLRFLAGS)" CC="$(CC)" all + +all: hatari + +hatari: $(ALLOBJS) + $(CC) $(LDFLAGS) $(ALLOBJS) $(SDL_LIBS) $(LIBS) -o hatari clean: rm -f *.o hatari + $(MAKE) -C gui-sdl/ clean $(MAKE) -C uae-cpu/ clean -screenConvert.o: convert/high640x1.c convert/low640x16.c convert/spec320x16.c \ - convert/vdi4.c convert/high640x8.c convert/low640x8.c convert/spec640x16.c \ - convert/low320x16.c convert/med640x16.c convert/vdi16.c \ - convert/low320x8.c convert/med640x8.c convert/vdi2.c +# Sub-folder dependencies: +uae-cpu/%.o: uae-cpu/%.c + $(MAKE) -C uae-cpu/ all +uae-cpu/cpuemu%.o: uae-cpu/cpuemu.c + $(MAKE) -C uae-cpu/ all +uae-cpu/cpuemu.c: uae-cpu/gencpu.o uae-cpu/readcpu.c uae-cpu/cpudefs.c + $(MAKE) -C uae-cpu/ cpuemu.c +uae-cpu/cpudefs.c: uae-cpu/build68k.c uae-cpu/table68k + $(MAKE) -C uae-cpu/ cpudefs.c + +gui-sdl/%.o: gui-sdl/%.c + $(MAKE) -C gui-sdl/ all + + +# Use "make depend" to generate file dependencies: +depend: $(SRCS) + $(CC) -MM $(CFLAGS) $(SRCS) > Makefile.dep + $(MAKE) -C gui-sdl/ depend + +ifneq (,$(wildcard Makefile.dep)) +include Makefile.dep +endif +