all: libs/$(IOP_TARGET) objs/%.o: src/%.c $(IOP_CC) $(IOP_CFLAGS) $(IOP_CPPFLAGS) -c $< -o $@ objs/%.o: src/%.cpp $(IOP_CXX) $(IOP_CXXFLAGS) $(IOP_CPPFLAGS) -c $< -o $@ objs/%.o: src/%.S $(IOP_CC) $(IOP_CPPFLAGS) -c $< -o $@ objs/%.o: src/%.s $(IOP_AS) $(IOP_ASFLAGS) -c $< -o $@ libs/$(IOP_TARGET): $(IOP_OBJS) objs/imports.o objs/exports.o src/irx_imports.h $(IOP_CC) $(IOP_LDFLAGS) -miop -nostdlib -s -o libs/$(IOP_TARGET) $(IOP_OBJS) objs/imports.o objs/exports.o objs/imports.o: $(ECHO) "#include \"irx_imports.h\"" > src/build-imports.c cat src/imports.lst >> src/build-imports.c $(IOP_CC) $(IOP_CFLAGS) $(IOP_CPPFLAGS) -c src/build-imports.c -o objs/imports.o rm -f src/build-imports.c objs/exports.o: $(ECHO) "#include \"irx.h\"" > src/build-exports.c cat src/exports.tab >> src/build-exports.c $(IOP_CC) $(IOP_CFLAGS) $(IOP_CPPFLAGS) -c src/build-exports.c -o objs/exports.o rm -f src/build-exports.c clean: rm -f objs/*.o libs/$(IOP_TARGET) rebuild: clean all