39 lines
1.0 KiB
Makefile
39 lines
1.0 KiB
Makefile
|
UNAME_S := $(shell uname -s)
|
||
|
ifeq ($(UNAME_S),Linux)
|
||
|
HIDAPI = hidapi-hidraw
|
||
|
else
|
||
|
HIDAPI = hidapi
|
||
|
endif
|
||
|
|
||
|
CFLAGS += -Wall -Wextra -g -std=gnu99 $(shell pkg-config --cflags $(HIDAPI))
|
||
|
LDFLAGS += $(shell pkg-config --libs $(HIDAPI))
|
||
|
outputs = eizoctl compile_commands.json
|
||
|
ifeq ($(OS),Windows_NT)
|
||
|
outputs += eizoctltray.png eizoctltray.ico eizoctltray.o eizoctltray.exe
|
||
|
LDFLAGS += -static
|
||
|
endif
|
||
|
|
||
|
all: $(outputs)
|
||
|
compile_commands.json:
|
||
|
>$@ echo '[{'
|
||
|
>>$@ echo '"directory": "'"$$(pwd)"'",'
|
||
|
>>$@ echo '"command": "$(CC) $(CFLAGS) eizoctl.c",'
|
||
|
>>$@ echo '"file": "'"$$(pwd)"'/eizoctl.c"'
|
||
|
>>$@ echo '}]'
|
||
|
eizoctl: eizoctl.c
|
||
|
$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $^ $(LDFLAGS)
|
||
|
clean:
|
||
|
rm -f $(outputs)
|
||
|
|
||
|
ifeq ($(OS),Windows_NT)
|
||
|
eizoctltray.png: eizoctltray.svg
|
||
|
rsvg-convert --output=$@ -- $<
|
||
|
eizoctltray.ico: eizoctltray.png
|
||
|
icotool -c -o $@ -- $<
|
||
|
eizoctltray.o: eizoctltray.rc eizoctltray.ico
|
||
|
windres -o $@ $<
|
||
|
eizoctltray.exe: eizoctl.c eizoctltray.o
|
||
|
$(CC) $(CFLAGS) $(CPPFLAGS) -DUNICODE -D_UNICODE -DTRAY \
|
||
|
-o $@ $^ $(LDFLAGS) -mwindows -municode -lPowrProf
|
||
|
endif
|