Changeset 9bf0f86 in buchla-68k


Ignore:
Timestamp:
07/01/2017 09:51:12 PM (7 years ago)
Author:
Thomas Lopatic <thomas@…>
Branches:
master
Children:
df097bf
Parents:
ef7ae7e
Message:

Build libraries, try to link.

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • .gitignore

    ref7ae7e r9bf0f86  
    11build
     2*.a
     3*.abs
  • Makefile

    ref7ae7e r9bf0f86  
    55CROSS_GCC :=    $(CROSS_PRE)-gcc
    66CROSS_AS :=             $(CROSS_PRE)-as
     7CROSS_AR :=             $(CROSS_PRE)-ar
    78
    89# -mshort sets the size of an int to 16 bits; important for interop with
     
    1112FLAGS :=                -Os -m68000 -Wall -Wextra
    1213
    13 FLAGS_COM :=    $(FLAGS) -mshort -std=c99 -ffreestanding \
     14FLAGS_COM :=    $(FLAGS) -mshort -std=c99 -ffreestanding -nostdinc \
    1415                                -fno-strict-aliasing -fno-inline -fno-omit-frame-pointer \
    1516                                -Wpedantic -Wcast-align -Wcast-qual -Wconversion -Wsign-conversion \
     
    1819
    1920FLAGS_ASM :=    $(FLAGS) -Wa,--register-prefix-optional
     21FLAGS_LNK :=    $(FLAGS) -mshort -std=c99 -ffreestanding -nostdlib
    2022
    2123HEADERS :=              $(wildcard include/*.h)
     24
     25all:                    rom.abs midas.abs
    2226
    2327PROLOG_C :=             croot.c
     
    3640                                $(CROSS_GCC) $(FLAGS_ASM) -c -o $@ $<
    3741
     42prolog.a:               $(PROLOG_OBJ)
     43                                rm -f prolog.a
     44                                $(CROSS_AR) rcs prolog.a $(PROLOG_OBJ)
     45
    3846IOLIB_C :=              dofmt.c mdump.c pause.c printf.c rawio.c sprintf.c waitcr.c
    3947IOLIB_S :=              hwdefs.s rtraps.s setipl.s setsr.s traps.s
     
    5058build/%.o:              iolib/%.s $(HEADERS) | build
    5159                                $(CROSS_GCC) $(FLAGS_ASM) -c -o $@ $<
     60
     61iolib.a:                $(IOLIB_OBJ)
     62                                rm -f iolib.a
     63                                $(CROSS_AR) rcs iolib.a $(IOLIB_OBJ)
    5264
    5365LIBCIO_C :=             atoi.c atol.c blkrd.c blkwr.c close.c clusmap.c conin.c conwr.c \
     
    7284                                $(CROSS_GCC) $(FLAGS_ASM) -c -o $@ $<
    7385
     86libcio.a:               $(LIBCIO_OBJ)
     87                                rm -f libcio.a
     88                                $(CROSS_AR) rcs libcio.a $(LIBCIO_OBJ)
     89
    7490LIBSM_C :=              index.c memccpy.c memchr.c memcmp.c memcmpu.c memcpy.c memcpyw.c \
    7591                                memset.c memsetw.c rindex.c str2lc.c str2uc.c strcat.c strccpy.c \
     
    86102                                $(CROSS_GCC) $(FLAGS_COM) -c -o $@ $<
    87103
     104libsm.a:                $(LIBSM_OBJ)
     105                                rm -f libsm.a
     106                                $(CROSS_AR) rcs libsm.a $(LIBSM_OBJ)
     107
    88108LIB700_C :=             bitrev.c ctype.c ispow2.c mangle.c micons.c tolower.c toupper.c
    89109
     
    102122build/%.o:              lib700/%.s $(HEADERS) | build
    103123                                $(CROSS_GCC) $(FLAGS_ASM) -c -o $@ $<
     124
     125lib700.a:               $(LIB700_OBJ)
     126                                rm -f lib700.a
     127                                $(CROSS_AR) rcs lib700.a $(LIB700_OBJ)
    104128
    105129VLIB_C :=               cg2.c cg3.c glcinit.c lseg.c vbfill4.c vclrs.c vhinit.c vmput.c \
     
    123147                                $(CROSS_GCC) $(FLAGS_ASM) -c -o $@ $<
    124148
    125 all:                    $(PROLOG_OBJ) $(IOLIB_OBJ) $(LIBCIO_OBJ) $(LIBSM_OBJ) $(LIB700_OBJ) \
    126                                 $(VLIB_OBJ)
     149vlib.a:                 $(VLIB_OBJ)
     150                                rm -f vlib.a
     151                                $(CROSS_AR) rcs vlib.a $(VLIB_OBJ)
    127152
    128153ROM_C :=                booter.c romp.c
     
    140165build/%.o:              rom/%.s $(HEADERS) | build
    141166                                $(CROSS_GCC) $(FLAGS_ASM) -c -o $@ $<
     167
     168rom.abs:                prolog.a iolib.a libcio.a libsm.a lib700.a vlib.a $(ROM_OBJ)
     169                                $(CROSS_GCC) $(FLAGS_LNK) -o rom.abs $(ROM_OBJ) \
     170                                prolog.a libcio.a vlib.a iolib.a libsm.a lib700.a
    142171
    143172RAM_C :=                addfpu.c adfield.c adselbx.c asgdsp.c asgvce.c barbadj.c chgsef.c \
     
    175204                                $(CROSS_GCC) $(FLAGS_ASM) -c -o $@ $<
    176205
    177 all:                    $(PROLOG_OBJ) $(IOLIB_OBJ) $(LIBCIO_OBJ) $(LIBSM_OBJ) $(LIB700_OBJ) \
    178                                 $(VLIB_OBJ) $(ROM_OBJ) $(RAM_OBJ)
     206midas.abs:              prolog.a iolib.a libcio.a libsm.a lib700.a vlib.a $(RAM_OBJ)
     207                                $(CROSS_GCC) $(FLAGS_LNK) -o midas.abs $(RAM_OBJ) \
     208                                prolog.a libcio.a vlib.a iolib.a libsm.a lib700.a
    179209
    180210build:
     
    199229clean:
    200230                                rm -rf build
     231                                rm -f prolog.a iolib.a libcio.a libsm.a lib700.a vlib.a
     232                                rm -f rom.abs midas.abs
    201233                                rm -f hatari/c.img
    202234                                rm -f hatari/d/out/*
Note: See TracChangeset for help on using the changeset viewer.