drivers/can_peak_win32/Makefile.in
changeset 145 e747d2e26af0
parent 41 e70439f50539
child 146 71d531bf5b68
equal deleted inserted replaced
144:3ebf16150b2e 145:e747d2e26af0
    27 PROG_CFLAGS = SUB_PROG_CFLAGS
    27 PROG_CFLAGS = SUB_PROG_CFLAGS
    28 PREFIX = SUB_PREFIX
    28 PREFIX = SUB_PREFIX
    29 TARGET = SUB_TARGET
    29 TARGET = SUB_TARGET
    30 CAN_DRIVER = SUB_CAN_DRIVER
    30 CAN_DRIVER = SUB_CAN_DRIVER
    31 TIMERS_DRIVER = SUB_TIMERS_DRIVER
    31 TIMERS_DRIVER = SUB_TIMERS_DRIVER
    32 BINUTILS_PREFIX = SUB_BINUTILS_PREFIX
    32 ENABLE_DLL_DRIVERS=SUB_ENABLE_DLL_DRIVERS
       
    33 CAN_DLL_CFLAGS=SUB_CAN_DLL_CFLAGS
    33 
    34 
    34 INCLUDES = -I../../include -I../../include/$(TARGET) -I../../include/$(CAN_DRIVER) -I../../include/$(TIMERS_DRIVER)
    35 INCLUDES = -I../../include -I../../include/$(TARGET) -I../../include/$(CAN_DRIVER)
    35 
    36 
    36 OBJS = $(CAN_DRIVER).o
    37 OBJS = $(CAN_DRIVER).o
    37 
    38 
    38 SRC_HFILES = ../../include/$(CAN_DRIVER)/cancfg.h
    39 ifeq ($(ENABLE_DLL_DRIVERS),1)
       
    40 CFLAGS += -fPIC
       
    41 DRIVER = cyg$(CAN_DRIVER).dll
       
    42 else
       
    43 DRIVER = $(OBJS)
       
    44 endif
    39 
    45 
    40 TARGET_HFILES = $(PREFIX)/include/canfestival/cancfg.h
    46 TARGET_SOFILES = $(PREFIX)/lib/$(DRIVER)
    41 
    47 
    42 all: driver
    48 all: driver
    43 
    49 
    44 driver: $(OBJS)
    50 driver: $(DRIVER)
    45 
    51 
    46 %o: %c
    52 %o: %c
    47 	$(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $<
    53 	$(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ -c $<
    48 
    54 
    49 install:
    55 cyg$(CAN_DRIVER).dll: $(OBJS)
    50 	mkdir -p $(PREFIX)/include/canfestival
    56 	gcc -shared -o $@ \
    51 	cp $(SRC_HFILES) $(PREFIX)/include/canfestival
    57 	-Wl,--export-all-symbols \
    52 
    58 	-Wl,--enable-auto-import \
       
    59 	-Wl,--whole-archive $< \
       
    60 	-Wl,--no-whole-archive $(CAN_DLL_CFLAGS) \
       
    61 	-Wl,--exclude-libs,ALL
       
    62 		
       
    63 install: libcanfestival_$(CAN_DRIVER).so
       
    64 	mkdir -p $(PREFIX)/lib/
       
    65 	cp $@ $(PREFIX)/lib/
       
    66 	
    53 uninstall:
    67 uninstall:
    54 	rm -f $(TARGET_HFILES)
    68 	rm -f $(TARGET_HFILES)
    55 
    69 
    56 clean:
    70 clean:
    57 	rm -f $(OBJS)
    71 	rm -f $(OBJS)
    58 
    72 
    59 mrproper: clean
    73 mrproper: clean
    60 
       
    61 #********** make obfuscated translation *************************************
       
    62 .PHONY : obfuscate
       
    63 obfuscate:
       
    64 	cobf -p obf/pp_gnu -o obf -c can_peak_win32.c -t obf/tlist.tok -m obf/mlist.tok -x pcan_ obf/can_peak_win32_org.c;\
       
    65 	cat obf/can_peak_win32.c.header  obf/can_peak_win32.c  > can_peak_win32.c;\
       
    66 	cat obf/cobf.h.header obf/cobf.h > cobf.h;\
       
    67 	rm -f obf/can_peak_win32.c obf/cobf.h obf/cobf.log obf/uncobf.h
       
    68