123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380 |
- .PHONY: all clean distclean install uninstall
- @DEFINE_DLOPEN_MAKE@
- @DEFINE_ZLIB_MAKE@
- @DEFINE_DISCMAGE_MAKE@
- @DEFINE_USB_MAKE@
- @DEFINE_LIBCD64_MAKE@
- CC=@CC@
- CFLAGS=-I. -Wall -W -O3 @DEFS@
- LDFLAGS=-s
- TARGETS=
- ifdef USE_DISCMAGE
- LIBNAME_DM=discmage
- endif
- # The test for Cygwin should be done before the test for DJGPP, because the
- # environment variable DJGPP can be set under Bash for people who have
- # installed both GCC (and friends) ports.
- GCC_WIN=0
- # test cygwin before DJGPP; OSTYPE is not exported on Cygwin
- ifeq ($(TERM),cygwin)
- GCC_WIN=1
- endif
- # test msys before DJGPP; MSYS, MinGW's POSIX build environment
- ifeq ($(OSTYPE),msys)
- GCC_WIN=1
- endif
- ifeq ($(GCC_WIN),1)
- ifdef USE_DISCMAGE
- FULLLIBNAME_DM=$(LIBNAME_DM).dll
- ifndef DLOPEN
- LDFLAGS+=libdiscmage/$(LIBNAME_DM).a
- endif
- endif
- else
- ifdef DJGPP
- ifdef USE_DISCMAGE
- FULLLIBNAME_DM=$(LIBNAME_DM).dxe
- ifndef DLOPEN
- LDFLAGS+=libdiscmage/$(LIBNAME_DM).a
- endif
- endif
- else # Unix, BeOS or Mac OS X (Darwin)
- ifeq ($(findstring openbsd,$(OSTYPE)),openbsd) # for example "openbsd3.4"
- # i386_iopl() is located in libi386.a
- LDFLAGS+=@LIBI386_MAKE@
- endif
- ifdef USE_DISCMAGE
- ifeq ($(findstring darwin,$(OSTYPE)),darwin) # for example "darwin7.0"
- FULLLIBNAME_DM=$(LIBNAME_DM).dylib
- else
- FULLLIBNAME_DM=$(LIBNAME_DM).so
- endif
- endif
- ifdef DLOPEN
- ifneq ($(OSTYPE),beos)
- ifeq ($(findstring freebsd,$(OSTYPE)),) # false if OSTYPE contains "freebsd"
- ifeq ($(findstring openbsd,$(OSTYPE)),) # false if OSTYPE contains "openbsd"
- LDFLAGS+=-ldl
- endif
- endif
- endif
- else # DLOPEN
- ifdef USE_DISCMAGE # GNU specific: "simply expanded variable"
- FULLLIBNAME_DM:=$(addprefix lib,$(FULLLIBNAME_DM))
- LDFLAGS+=-Llibdiscmage -l$(LIBNAME_DM)
- endif
- endif
- endif # DJGPP
- endif # GCC_WIN
- TARGETS+=libdiscmage/$(FULLLIBNAME_DM)
- ifdef USE_LIBCD64
- LDFLAGS+=backup/libcd64/libcd64.a
- TARGETS+=backup/libcd64/libcd64.a
- endif
- OBJECTS=ucon64.o ucon64_dat.o ucon64_misc.o ucon64_opts.o \
- misc/chksum.o misc/file.o misc/getopt.o misc/getopt2.o \
- misc/misc.o misc/parallel.o misc/property.o misc/string.o \
- patch/aps.o patch/bsl.o patch/gg.o patch/ips.o patch/pal4u.o \
- patch/ppf.o patch/xps.o \
- console/dc.o console/gb.o console/gba.o console/genesis.o \
- console/jaguar.o console/lynx.o console/n64.o console/neogeo.o \
- console/nes.o console/ngp.o console/pce.o console/psx.o console/sms.o \
- console/snes.o console/swan.o \
- backup/cd64.o backup/cmc.o backup/dex.o backup/doctor64.o \
- backup/doctor64jr.o backup/f2a.o backup/fal.o backup/ffe.o \
- backup/fig.o backup/gbx.o backup/gd.o backup/interceptor.o \
- backup/lynxit.o backup/mccl.o backup/mcd.o backup/md-pro.o \
- backup/mgd.o backup/msg.o backup/pce-pro.o backup/pl.o \
- backup/psxpblib.o backup/sflash.o backup/smc.o backup/smd.o \
- backup/smsgg-pro.o backup/ssc.o backup/swc.o backup/tototek.o \
- backup/ufo.o backup/yoko.o backup/z64.o
- ifdef USE_ZLIB
- LDFLAGS+=-lz
- OBJECTS+=misc/archive.o misc/map.o misc/unzip.o
- endif
- ifdef USE_USB
- LDFLAGS+=-lusb
- OBJECTS+=misc/usb.o
- endif
- ifdef DLOPEN
- OBJECTS+=misc/dlopen.o
- ifndef USE_ZLIB
- ifeq ($(GCC_WIN),1)
- else
- ifdef DJGPP # DJGPP code in dlopen needs map code
- OBJECTS+=misc/map.o
- endif # DJGPP
- endif # GCC_WIN
- endif # USE_ZLIB
- else
- ifeq ($(GCC_WIN),1) # Cygwin/MinGW code in ucon64_misc needs dlopen code
- OBJECTS+=misc/dlopen.o
- endif # GCC_WIN
- endif # DLOPEN
- TARGET=ucon64
- ifeq ($(GCC_WIN),1)
- TARGET:=$(addsuffix .exe,$(TARGET)) # adding .exe avoids "problems" with Cygwin/MinGW
- else
- ifdef DJGPP # OSTYPE is not defined by default under DOS
- TARGET:=$(addsuffix .exe,$(TARGET))
- endif # DJGPP
- endif # GCC_WIN
- TARGETS+=$(TARGET)
- all: $(TARGETS)
- CLEAN_CMD=rm -f $(TARGET) $(OBJECTS) *.core *.stackdump *~ */*~ */*/*~; \
- cd libdiscmage && $(MAKE) clean; \
- cd ../backup/libcd64 && $(MAKE) clean
- clean:
- ifeq ($(GCC_WIN),1)
- $(CLEAN_CMD)
- else
- ifdef DJGPP
- del *.o
- del patch\*.o
- del console\*.o
- del backup\*.o
- del misc\*.o
- del $(TARGET)
- cd libdiscmage
- $(MAKE) clean
- cd ../backup/libcd64
- $(MAKE) clean
- cd ../..
- else # Unix, BeOS or Mac OS X (Darwin)
- $(CLEAN_CMD)
- endif # DJGPP
- endif # GCC_WIN
- DISTCLEAN_CMD=rm -f Makefile config.log config.status config.cache config.h; \
- cd libdiscmage && $(MAKE) distclean; \
- cd ../backup/libcd64 && $(MAKE) clean
- # libcd64 Makefile has no distclean target
- distclean: clean
- ifeq ($(GCC_WIN),1)
- $(DISTCLEAN_CMD)
- else
- ifdef DJGPP
- del Makefile
- del config.log
- del config.status
- del config.cache
- del config.h
- cd libdiscmage
- $(MAKE) distclean
- cd ../backup/libcd64
- $(MAKE) clean
- cd ../..
- else
- $(DISTCLEAN_CMD)
- endif # DJGPP
- endif # GCC_WIN
- .c.o:
- $(CC) $(CFLAGS) -c $< -o $@
- backup/cd64.o: backup/cd64.c
- $(CC) $(CFLAGS) -Ibackup/libcd64 -c $< -o $@
- ifdef USE_DISCMAGE
- libdiscmage/$(FULLLIBNAME_DM):
- ifeq ($(GCC_WIN),1)
- cd libdiscmage && $(MAKE)
- else
- ifdef DJGPP
- cd libdiscmage
- $(MAKE)
- cd ..
- else
- cd libdiscmage && $(MAKE)
- endif # DJGPP
- endif # GCC_WIN
- endif # USE_DISCMAGE
- ifdef USE_LIBCD64
- backup/libcd64/libcd64.a:
- ifeq ($(GCC_WIN),1)
- cd backup/libcd64 && $(MAKE)
- else
- ifdef DJGPP
- cd backup/libcd64
- $(MAKE)
- cd ../..
- else
- cd backup/libcd64 && $(MAKE)
- endif # DJGPP
- endif # GCC_WIN
- endif # USE_DISCMAGE
- $(TARGET): $(OBJECTS)
- $(CC) $(OBJECTS) $(LDFLAGS) -o $@
- install:
- ifeq ($(TERM),cygwin) # test cygwin before DJGPP
- else
- ifeq ($(OSTYPE),msys) # test msys before DJGPP
- else
- ifdef DJGPP
- else
- ifeq ($(OSTYPE),beos)
- ./install_beos.sh
- else
- ./install.sh
- endif # beos
- endif # DJGPP
- endif # msys
- endif # cygwin
- ifndef DLOPEN
- cd libdiscmage && $(MAKE) install
- endif
- uninstall:
- ifeq ($(TERM),cygwin) # test cygwin before DJGPP
- else
- ifeq ($(OSTYPE),msys) # test msys before DJGPP
- else
- ifdef DJGPP
- else
- ifeq ($(OSTYPE),beos)
- rm -f $(HOME)/config/bin/$(TARGET)
- else
- rm -f /usr/local/bin/$(TARGET)
- endif # beos
- endif # DJGPP
- endif # msys
- endif # cygwin
- ifndef DLOPEN
- cd libdiscmage && $(MAKE) uninstall
- endif
- # Dependencies
- # Most source files include these
- UCON64_STD_H=ucon64.h ucon64_misc.h misc/misc.h config.h ucon64_defines.h
- misc/archive.o: misc/archive.h misc/map.h config.h
- misc/chksum.o: misc/chksum.h config.h
- misc/dlopen.o: misc/dlopen.h misc/dxedll_pub.h config.h
- misc/getopt.o: misc/getopt.h
- misc/map.o: misc/map.h config.h
- misc/misc.o: misc/misc.h misc/archive.h config.h
- misc/parallel.o: misc/parallel.h config.h
- misc/usb.o: misc/usb.h config.h
- misc/unzip.o: misc/unzip.h config.h
- ucon64.o: misc/dlopen.h misc/getopt.h ucon64_dat.h ucon64_opts.h \
- console/dc.h console/gb.h console/gba.h console/genesis.h \
- console/jaguar.h console/lynx.h console/n64.h console/neogeo.h \
- console/nes.h console/ngp.h console/pce.h console/psx.h console/sms.h \
- console/snes.h console/swan.h \
- backup/cd64.h backup/dex.h backup/doctor64.h backup/doctor64jr.h \
- backup/f2a.h backup/fal.h backup/ffe.h backup/fig.h backup/gbx.h \
- backup/gd.h backup/interceptor.h backup/lynxit.h backup/mccl.h \
- backup/mcd.h backup/md-pro.h backup/mgd.h backup/msg.h \
- backup/pce-pro.h backup/pl.h backup/smc.h backup/smd.h \
- backup/smsgg-pro.h backup/ssc.h backup/swc.h backup/tototek.h \
- backup/ufo.h backup/yoko.h backup/z64.h \
- patch/aps.h patch/bsl.h patch/gg.h patch/ips.h patch/pal4u.h \
- patch/ppf.h patch/xps.h $(UCON64_STD_H)
- ucon64_dat.o: ucon64_dat.h $(UCON64_STD_H)
- ucon64_misc.o: misc/dlopen.h $(UCON64_STD_H)
- ucon64_opts.o: misc/dlopen.h misc/getopt.h ucon64_dat.h ucon64_opts.h \
- console/dc.h console/gb.h console/gba.h console/genesis.h \
- console/jaguar.h console/lynx.h console/n64.h console/neogeo.h \
- console/nes.h console/ngp.h console/pce.h console/psx.h \
- console/sms.h console/snes.h console/swan.h \
- backup/cd64.h backup/dex.h backup/doctor64.h \
- backup/doctor64jr.h backup/f2a.h backup/fal.h backup/ffe.h \
- backup/fig.h backup/gbx.h backup/gd.h backup/interceptor.h \
- backup/lynxit.h backup/mccl.h backup/mcd.h backup/md-pro.h \
- backup/mgd.h backup/msg.h backup/pce-pro.h backup/pl.h \
- backup/smc.h backup/smd.h backup/smsgg-pro.h backup/ssc.h \
- backup/swc.h backup/tototek.h backup/ufo.h backup/yoko.h \
- backup/z64.h \
- patch/aps.h patch/bsl.h patch/gg.h patch/ips.h patch/pal4u.h \
- patch/ppf.h patch/xps.h $(UCON64_STD_H)
- console/dc.o: console/dc.h $(UCON64_STD_H)
- console/gb.o: console/gb.h backup/mgd.h $(UCON64_STD_H)
- console/gba.o: console/gba.h $(UCON64_STD_H)
- console/genesis.o: console/genesis.h backup/smd.h backup/mgd.h $(UCON64_STD_H)
- console/jaguar.o: console/jaguar.h $(UCON64_STD_H)
- console/lynx.o: console/lynx.h $(UCON64_STD_H)
- console/n64.o: console/n64.h $(UCON64_STD_H)
- console/neogeo.o: console/neogeo.h $(UCON64_STD_H)
- console/nes.o: console/nes.h $(UCON64_STD_H)
- console/ngp.o: console/ngp.h $(UCON64_STD_H)
- console/pce.o: console/pce.h backup/mgd.h $(UCON64_STD_H)
- console/psx.o: console/psx.h $(UCON64_STD_H)
- console/sms.o: console/sms.h backup/smd.h backup/mgd.h $(UCON64_STD_H)
- console/snes.o: console/snes.h backup/mgd.h $(UCON64_STD_H)
- console/swan.o: console/swan.h $(UCON64_STD_H)
- backup/cd64.o: backup/cd64.h $(UCON64_STD_H)
- backup/cmc.o: backup/cmc.h $(UCON64_STD_H)
- backup/dex.o: backup/dex.h backup/psxpblib.h $(UCON64_STD_H)
- backup/doctor64.o: backup/doctor64.h $(UCON64_STD_H)
- backup/doctor64jr.o: backup/doctor64jr.h $(UCON64_STD_H)
- backup/f2a.o: backup/f2a.h $(UCON64_STD_H)
- backup/fal.o: backup/fal.h backup/cartlib.c $(UCON64_STD_H)
- backup/ffe.o: backup/ffe.h $(UCON64_STD_H)
- backup/fig.o: backup/fig.h console/snes.h $(UCON64_STD_H)
- backup/gd.o: backup/gd.h console/snes.h $(UCON64_STD_H)
- backup/gbx.o: backup/gbx.h $(UCON64_STD_H)
- backup/lynxit.o: backup/lynxit.h $(UCON64_STD_H)
- backup/mccl.o: backup/mccl.h $(UCON64_STD_H)
- backup/mcd.o: backup/mcd.h $(UCON64_STD_H)
- backup/md-pro.o: backup/md-pro.h backup/tototek.h $(UCON64_STD_H)
- backup/mgd.o: backup/mgd.h $(UCON64_STD_H)
- backup/msg.o: backup/msg.h backup/ffe.h $(UCON64_STD_H)
- backup/pce-pro.o: backup/pce-pro.h backup/tototek.h $(UCON64_STD_H)
- backup/pl.o: backup/pl.h $(UCON64_STD_H)
- backup/psxpblib.o: backup/psxpblib.h $(UCON64_STD_H)
- backup/sflash.o: backup/sflash.h backup/tototek.h $(UCON64_STD_H)
- backup/smc.o: backup/smc.h backup/ffe.h $(UCON64_STD_H)
- backup/smd.o: backup/smd.h backup/ffe.h $(UCON64_STD_H)
- backup/smsgg-pro.o: backup/smsgg-pro.h backup/tototek.h $(UCON64_STD_H)
- backup/swc.o: backup/swc.h backup/ffe.h console/snes.h $(UCON64_STD_H)
- backup/tototek.o: backup/tototek.h $(UCON64_STD_H)
- backup/ufo.o: backup/ufo.h $(UCON64_STD_H)
- backup/yoko.o: backup/yoko.h $(UCON64_STD_H)
- backup/z64.o: backup/z64.h $(UCON64_STD_H)
- patch/aps.o: patch/aps.h $(UCON64_STD_H)
- patch/bsl.o: patch/bsl.h $(UCON64_STD_H)
- patch/gg.o: patch/gg.h $(UCON64_STD_H)
- patch/ips.o: patch/ips.h $(UCON64_STD_H)
- patch/pal4u.o: patch/pal4u.h $(UCON64_STD_H)
- patch/ppf.o: patch/ppf.h $(UCON64_STD_H)
- patch/xps.o: patch/xps.h $(UCON64_STD_H)
|