diff --git a/Makefile b/Makefile index c00bef1..a21bd01 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,22 @@ +ifeq ($(platform),PS2) +#Set PS2SDK stuff +CC = $(EE_CC) +PREFIX ?= $(PS2SDK)/ports +EE_INCS += +EE_CFLAGS += +EE_LDFLAGS += +EE_ASFLAGS += +EE_OBJS = tap.o +EE_LIB = libtap.a +LDLIBS += $(EE_LIBS) +CFLAGS= $(EE_CFLAGS) -I. +include $(PS2SDK)/samples/Makefile.pref +include $(PS2SDK)/samples/Makefile.eeglobal +else CC ?= gcc CFLAGS += -Wall -I. -fPIC PREFIX ?= $(DESTDIR)/usr/local +endif TESTS = $(patsubst %.c, %, $(wildcard t/*.c)) ifdef ANSI @@ -21,7 +37,11 @@ endif %.so: $(CC) -shared $(LDFLAGS) $(TARGET_ARCH) $(filter %.o, $^) $(LDLIBS) -o $@ +ifeq ($(platform), PS2) +all: libtap.a tap.pc tests +else all: libtap.a libtap.so tap.pc tests +endif tap.pc: @echo generating tap.pc @@ -39,16 +59,38 @@ tap.pc: libtap.a: tap.o +ifeq ($(platform), PS2) +tap.o: tap.h +else libtap.so: tap.o - tap.o: tap.c tap.h +endif tests: $(TESTS) -$(TESTS): %: %.o libtap.a +ifeq ($(platform), PS2) +$(TESTS): %: %.o $(EE_OBJS) + $(EE_CC) $(EE_CFLAGS) $(EE_INCS) -o $@ $(EE_OBJS) $< $(EE_LDFLAGS) $(EE_LIBS) +else +$(TESTS): %: %.o libtap.a $(patsubst %, %.o, $(TESTS)): %.o: %.c tap.h +endif + +ifeq ($(platform), PS2) +clean: + rm -rf *.o t/*.o tap.pc libtap.a $(TESTS) +install: libtap.a tap.h tap.pc + mkdir -p $(PREFIX)/lib $(PREFIX)/include $(PREFIX)/lib/pkgconfig + install -c libtap.a $(PREFIX)/lib + install -c tap.pc $(PREFIX)/lib/pkgconfig + install -c tap.h $(PREFIX)/include + + +uninstall: + rm $(PREFIX)/lib/libtap.a $(PREFIX)/include/tap.h +else clean: rm -rf *.o t/*.o tap.pc libtap.a libtap.so $(TESTS) @@ -59,8 +101,10 @@ install: libtap.a tap.h libtap.so tap.pc install -c tap.pc $(PREFIX)/lib/pkgconfig install -c tap.h $(PREFIX)/include + uninstall: rm $(PREFIX)/lib/libtap.a $(PREFIX)/lib/libtap.so $(PREFIX)/include/tap.h +endif dist: rm libtap.zip diff --git a/Makefile.PS2 b/Makefile.PS2 deleted file mode 100644 index 4f08e5e..0000000 --- a/Makefile.PS2 +++ /dev/null @@ -1,32 +0,0 @@ -EE_INCS += -EE_CFLAGS += -EE_LDFLAGS += -EE_ASFLAGS += - -EE_LIB = libtap.a -EE_OBJS = tap.o -EE_LIBS = - -TESTS = $(patsubst %.c, %, $(wildcard t/*.c)) - -all: $(EE_LIB) tests - -tap.o: tap.h - -tests: $(TESTS) - -$(TESTS): %: %.o $(EE_OBJS) - $(EE_CC) $(EE_CFLAGS) $(EE_INCS) -o $@ $(EE_OBJS) $< $(EE_LDFLAGS) $(EE_LIBS) - -install: all - mkdir -p $(DESTDIR)$(PS2SDK)/ports/include - mkdir -p $(DESTDIR)$(PS2SDK)/ports/lib - cp -f $(EE_LIB) $(DESTDIR)$(PS2SDK)/ports/lib - cp -f tap.h $(DESTDIR)$(PS2SDK)/ports/include - -clean: - rm -f $(EE_LIB) $(EE_OBJS) $(TESTS) t/*.o - - -include $(PS2SDK)/samples/Makefile.pref -include $(PS2SDK)/samples/Makefile.eeglobal diff --git a/README.PS2.md b/README.PS2.md index 9fc40cb..74ebbec 100644 --- a/README.PS2.md +++ b/README.PS2.md @@ -16,8 +16,8 @@ Installation To build and install libtap, simply run: - $ make -f Makefile.PS2 all - # make -f Makefile.PS2 install + $ make platform=PS2 all + # make platform=PS2 install To run the included tests on your PS2, e.g. `t/simple`, use ps2client: