Simplify Makefile; Write functions for store_device
and load_device
This commit is contained in:
parent
145424202b
commit
c8e73f8e13
2 changed files with 33 additions and 36 deletions
51
Makefile
51
Makefile
|
@ -36,53 +36,36 @@ PREFIX ?= /usr/local
|
|||
includedir = $(DESTDIR)$(PREFIX)/include
|
||||
libdir = $(DESTDIR)$(PREFIX)/lib
|
||||
|
||||
srcs += src/bytes.c
|
||||
srcs += src/haggis.c
|
||||
hdrs += include/haggis.h
|
||||
|
||||
cflags += -Wall -Werror
|
||||
cflags += -Iinclude
|
||||
srcs += src/bytes.c
|
||||
srcs += src/haggis.c
|
||||
|
||||
objs = $(srcs:.c=.o)
|
||||
|
||||
CFLAGS += -Wall -Werror
|
||||
CFLAGS += -Iinclude
|
||||
CFLAGS += -fPIC
|
||||
|
||||
all: libhaggis.a libhaggis.so
|
||||
|
||||
static: libhaggis.a
|
||||
%.o: %.c
|
||||
$(CC) $(CFLAGS) -o $@ -c $<
|
||||
|
||||
shared: libhaggis.so
|
||||
libhaggis.a: $(objs)
|
||||
$(AR) rcs $@ $?
|
||||
|
||||
install: install-headers install-shared install-static
|
||||
libhaggis.so: $(objs)
|
||||
$(CC) -shared -o $@ $?
|
||||
|
||||
install-includedir:
|
||||
install: libhaggis.a libhaggis.so haggis.h
|
||||
[ -d $(includedir) ] || install -d $(includedir)
|
||||
|
||||
install-libdir:
|
||||
[ -d $(libdir) ] || install -d $(libdir)
|
||||
|
||||
install-shared: libhaggis.so install-libdir
|
||||
install -m755 libhaggis.so $(libdir)/
|
||||
|
||||
install-static: libhaggis.a install-libdir
|
||||
install -m644 libhaggis.a $(libdir)/
|
||||
|
||||
install-headers: $(hdrs) install-includedir
|
||||
install -m644 $(hdrs) $(includedir)/
|
||||
|
||||
haggis.o: $(srcs) $(hdrs)
|
||||
$(CC) -c $(cflags) $(srcs)
|
||||
|
||||
libhaggis.a: haggis.o
|
||||
$(AR) rcs $@ haggis.o
|
||||
|
||||
bytes_shared.o: src/bytes.c include/haggis.h
|
||||
$(CC) -c $(cflags) -fpic -o $@ src/bytes.c
|
||||
|
||||
haggis_shared.o: src/haggis.c include/haggis.h
|
||||
$(CC) -c $(cflags) -fpic -o $@ src/haggis.c
|
||||
|
||||
libhaggis.so: bytes_shared.o haggis_shared.o
|
||||
$(CC) -shared -o $@ haggis_shared.o
|
||||
|
||||
clean:
|
||||
rm -rf *.a *.so *.o
|
||||
rm -rf *.a *.so src/*.o
|
||||
|
||||
.PHONY: all clean shared static install install-includedir install-libdir \
|
||||
install-headers install-shared install-static
|
||||
.PHONY: all clean install
|
||||
|
|
18
src/haggis.c
18
src/haggis.c
|
@ -53,12 +53,26 @@ int haggis_check_header(FILE *stream) {
|
|||
}
|
||||
|
||||
int haggis_store_device(FILE *stream, struct haggis_device *dev) {
|
||||
// todo
|
||||
u8 major[4];
|
||||
u8 minor[4];
|
||||
u32_to_le_bytes(dev->major, major);
|
||||
u32_to_le_bytes(dev->minor, minor);
|
||||
if (fwrite(major, 1, 4, stream) != 4)
|
||||
return 1;
|
||||
if (fwrite(minor, 1, 4, stream) != 4)
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int haggis_load_device(FILE *stream, struct haggis_device *dev) {
|
||||
// todo
|
||||
u8 major[4];
|
||||
u8 minor[4];
|
||||
if (fread(major, 1, 4, stream) != 4)
|
||||
return 1;
|
||||
if (fread(minor, 1, 4, stream) != 4)
|
||||
return 1;
|
||||
dev->major = le_bytes_to_u32(major);
|
||||
dev->minor = le_bytes_to_u32(minor);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue