gc_n64_usb-v3/tools/Makefile

87 lines
2.2 KiB
Makefile
Raw Normal View History

CC=gcc
LD=$(CC)
2016-01-21 23:05:59 -05:00
VERSION=1.0
2015-10-24 22:32:08 -04:00
UNAME := $(shell uname -s)
ifeq ($(UNAME), Linux)
HIDAPI_NAME=hidapi-hidraw
else
HIDAPI_NAME=hidapi
endif
2015-10-24 22:54:34 -04:00
ifeq ($(shell uname -o), Msys)
2015-12-07 00:52:55 -05:00
COMPAT_OBJS=sleep.o memmem.o strcasestr.o app.o
2015-11-16 23:15:53 -05:00
PLATFORM_CFLAGS=-DWINDOWS
2015-12-07 00:39:47 -05:00
EXTRA_LDFLAGS=-mwindows # uncomment for console output
2016-01-21 23:05:59 -05:00
MAKENSIS=/c/Program\ Files\ \(x86\)/NSIS/makensis
2015-10-24 22:54:34 -04:00
endif
2015-11-16 23:15:53 -05:00
CFLAGS=-Wall -g `pkg-config $(HIDAPI_NAME) --cflags` --std=c99 $(PLATFORM_CFLAGS)
2015-10-24 22:32:08 -04:00
LDFLAGS=`pkg-config $(HIDAPI_NAME) --libs` -g
2015-10-24 22:16:25 -04:00
GTK_CFLAGS=`pkg-config --cflags gtk+-3.0 gmodule-2.0`
GTK_LDFLAGS=`pkg-config --libs gtk+-3.0 gmodule-2.0`
PREFIX=/usr/local
2015-11-03 09:23:09 -05:00
PROGS=gcn64ctl mempak_ls mempak_format mempak_extract_note mempak_insert_note mempak_rm mempak_convert gcn64ctl_gui
2015-11-16 22:21:25 -05:00
MEMPAKLIB_OBJS=mempak.o mempak_fs.o $(COMPAT_OBJS)
2015-12-07 00:39:47 -05:00
.PHONY : clean install release_windows
2015-12-06 23:10:27 -05:00
all: $(PROGS) gui.xml
2015-10-24 22:16:25 -04:00
2015-11-16 22:21:25 -05:00
gcn64ctl_gui: gcn64ctl_gui.o gcn64ctl_gui_mpkedit.o gcn64.o gcn64lib.o hexdump.o ihex.o mempak_gcn64usb.o $(MEMPAKLIB_OBJS)
2015-12-07 00:39:47 -05:00
$(LD) $^ $(LDFLAGS) $(GTK_LDFLAGS) -o $@ $(EXTRA_LDFLAGS)
2015-10-24 22:16:25 -04:00
2015-11-16 22:21:25 -05:00
gcn64ctl: main.o gcn64.o gcn64lib.o hexdump.o gc2n64_adapter.o ihex.o delay.o mempak_gcn64usb.o $(MEMPAKLIB_OBJS)
2015-10-24 22:54:34 -04:00
$(LD) $^ $(LDFLAGS) -o $@
2015-10-24 22:16:25 -04:00
2015-10-26 00:42:13 -04:00
gcn64ctl_gui.o: gcn64ctl_gui.c gcn64ctl_gui.h
$(CC) $(CFLAGS) $(GTK_CFLAGS) -c $<
2015-12-07 00:52:55 -05:00
app.o: app.rc icon.ico
windres app.rc -o app.o
2015-12-06 23:10:27 -05:00
gui.xml: gcn64cfg.glade
grep -v requires gcn64cfg.glade > gui.xml
2015-10-26 00:42:13 -04:00
gcn64ctl_gui_mpkedit.o: gcn64ctl_gui_mpkedit.c gcn64ctl_gui_mpkedit.h
2015-10-24 22:16:25 -04:00
$(CC) $(CFLAGS) $(GTK_CFLAGS) -c $<
mempak_convert: mempak_convert.o $(MEMPAKLIB_OBJS)
$(LD) $^ $(LDFLAGS) -o $@
mempak_rm: mempak_rm.o $(MEMPAKLIB_OBJS)
$(LD) $^ $(LDFLAGS) -o $@
mempak_insert_note: mempak_insert_note.o $(MEMPAKLIB_OBJS)
$(LD) $^ $(LDFLAGS) -o $@
mempak_extract_note: mempak_extract_note.o $(MEMPAKLIB_OBJS)
$(LD) $^ $(LDFLAGS) -o $@
mempak_ls: mempak_ls.o $(MEMPAKLIB_OBJS)
$(LD) $^ $(LDFLAGS) -o $@
mempak_format: mempak_format.o $(MEMPAKLIB_OBJS)
$(LD) $^ $(LDFLAGS) -o $@
%.o: %.c %.h
$(CC) $(CFLAGS) -c $<
clean:
2015-11-03 09:23:09 -05:00
rm -f *.o *.exe $(PROGS)
install:
@echo "Install not done yet. Sorry"
2015-12-07 00:39:47 -05:00
release_windows:
2016-01-21 23:05:59 -05:00
cp $(addsuffix .exe,$(PROGS)) release_windows
2015-12-07 00:39:47 -05:00
cp gui.xml release_windows
cp project_image.png release_windows
2016-01-21 23:05:59 -05:00
$(MAKENSIS) //DVERSION=$(VERSION) gcn64ctl.nsi
ls installers
@echo "Done"